Bluetooth Host Stack Library
wiced_bt_dev.h File Reference

Bluetooth Management (BTM) Application Programming Interface. More...

Data Structures

struct  wiced_bt_tx_power_result_t
 TX Power Result (in response to wiced_bt_dev_read_tx_power and wiced_bt_ble_read_adv_tx_power) More...
 
struct  wiced_bt_transmit_power_range_res_buf_t
 Transmit Power Range Result Buffer. More...
 
struct  wiced_bt_set_transmit_power_range_result_t
 Transmit Power Range Result (in response to wiced_bt_set_transmit_power_range) More...
 
struct  wiced_bt_set_adv_tx_power_result_t
 TX Power Result (in response to wiced_bt_ble_set_adv_tx_power) More...
 
struct  wiced_bt_dev_vendor_specific_command_complete_params_t
 Structure returned with Vendor Specific Command complete callback. More...
 
struct  wiced_bt_public_key_t
 Public key. More...
 
struct  wiced_bt_smp_sc_local_oob_t
 Data for BTM_SMP_SC_LOCAL_OOB_DATA_NOTIFICATION_EVT. More...
 
struct  wiced_bt_smp_remote_oob_req_t
 data type for BTM_SMP_REMOTE_OOB_DATA_REQUEST_EVT More...
 
struct  wiced_bt_smp_sc_remote_oob_req_t
 data type for BTM_SMP_SC_REMOTE_OOB_DATA_REQUEST_EVT More...
 
struct  wiced_bt_dev_user_keypress_t
 Pairing keypress notification (BTM_USER_KEYPRESS_NOTIFICATION_EVT event data type) More...
 
struct  wiced_bt_dev_user_key_notif_t
 Data for pairing passkey notification (BTM_USER_PASSKEY_NOTIFICATION_EVT event data type) More...
 
struct  wiced_bt_dev_br_edr_pairing_info_t
 BR/EDR pairing complete infomation. More...
 
struct  wiced_bt_dev_user_cfm_req_t
 Data for pairing confirmation request (BTM_USER_CONFIRMATION_REQUEST_EVT event data type) More...
 
struct  wiced_bt_dev_ble_pairing_info_t
 LE pairing complete infomation. More...
 
union  wiced_bt_dev_pairing_info_t
 Transport dependent pairing complete infomation. More...
 
struct  wiced_bt_dev_pairing_cplt_t
 Pairing complete notification (BTM_PAIRING_COMPLETE_EVT event data type) More...
 
struct  wiced_bt_dev_security_failed_t
 Security/authentication failure status (used by BTM_SECURITY_FAILED_EVT notication) More...
 
struct  wiced_bt_dev_security_request_t
 Security request (BTM_SECURITY_REQUEST_EVT event data type) More...
 
struct  wiced_bt_local_id_keys
 LE keys. More...
 
struct  wiced_bt_local_identity_keys_t
 LE identity key for local device (used by BTM_LE_LOCAL_IDENTITY_KEYS_UPDATE_EVT and BTM_LE_LOCAL_KEYS_REQUEST_EVT notification) More...
 
struct  wiced_bt_ble_connection_param_update_t
 LE connection parameter update event related data. More...
 
struct  wiced_bt_ble_conn_subrate_t
 LE Physical link update event related data. More...
 
struct  wiced_bt_ble_phy_update_t
 BLE Physical link update event related data. More...
 
struct  wiced_bt_ble_phy_data_length_update_t
 LE data length update event related data. More...
 
struct  wiced_bt_ble_multi_adv_response_t
 LE Multi adv VSC response data. More...
 
struct  wiced_bt_dev_enabled_t
 Device enabled (used by BTM_ENABLED_EVT) More...
 
struct  wiced_bt_dev_disabled_t
 Device disabled (used by BTM_DISABLED_EVT) More...
 
struct  wiced_bt_dev_name_and_class_t
 Remote device information (used by BTM_PIN_REQUEST_EVT, BTM_SECURITY_ABORTED_EVT) More...
 
struct  wiced_bt_power_mgmt_notification_t
 Change in power management status (used by BTM_POWER_MANAGEMENT_STATUS_EVT notication) More...
 
struct  wiced_bt_dev_encryption_status_t
 Encryption status change (used by BTM_ENCRYPTION_STATUS_EVT) More...
 
struct  wiced_bt_dev_local_oob_t
 Local OOB data BTM_READ_LOCAL_OOB_DATA_COMPLETE_EVT. More...
 
struct  wiced_bt_dev_remote_oob_t
 BTM_REMOTE_OOB_DATA_REQUEST_EVT. More...
 
struct  wiced_bt_dev_bredr_io_caps_req_t
 BR/EDR Pairing IO Capabilities (to be filled by application callback on BTM_PAIRING_IO_CAPABILITIES_BR_EDR_REQUEST_EVT) More...
 
struct  wiced_bt_dev_ble_io_caps_req_t
 LE Pairing IO Capabilities (to be filled by application callback on BTM_PAIRING_IO_CAPABILITIES_BLE_REQUEST_EVT) More...
 
struct  wiced_bt_ble_keys_t
 Paired device LE Keys. More...
 
struct  wiced_bt_device_sec_keys_t
 Paired Device Link key data. More...
 
struct  wiced_bt_device_link_keys_t
 Paired device link key notification (used by BTM_PAIRED_DEVICE_LINK_KEYS_UPDATE_EVT notication) More...
 
struct  wiced_bt_device_br_packet_types_t
 BR packets statistics details. More...
 
struct  wiced_bt_device_edr_packet_types_t
 EDR packets statistics types details. More...
 
union  wiced_bt_br_edr_pkt_type_stats
 BR/EDR packet types detail statistics. More...
 
struct  wiced_bt_lq_br_edr_stats
 BR/EDR link statistics. More...
 
struct  wiced_bt_lq_le_stats
 LE link statistics. More...
 
struct  wiced_bt_lq_stats_result_t
 LQ Quality Result (in response to wiced_bt_dev_lq_stats) More...
 
struct  wiced_bt_ble_device_addr_update_t
 Event on update of random device address. More...
 
union  wiced_bt_management_evt_data_t
 Structure definitions for Bluetooth Management (wiced_bt_management_cback_t) event notifications. More...
 

Macros

#define BTM_INQ_RES_IGNORE_RSSI   0x7f
 RSSI value not supplied (ignore it) More...
 
#define BTM_SCAN_PARAM_IGNORE   0
 Passed to BTM_SetScanConfig() to ignore. More...
 
#define BTM_PIN_TYPE_VARIABLE   HCI_PIN_TYPE_VARIABLE
 Variable Pin Type. More...
 
#define BTM_PIN_TYPE_FIXED   HCI_PIN_TYPE_FIXED
 Fix Length Pin Type. More...
 
#define BTM_SECURITY_KEY_DATA_LEN   132
 Security key data length (used by wiced_bt_device_link_keys_t structure) More...
 
#define BTM_SECURITY_LOCAL_KEY_DATA_LEN   65
 Local security key data length (used by wiced_bt_local_identity_keys_t structure) More...
 
#define SMP_SEC_NONE   0
 LE Security key level. More...
 
#define SMP_SEC_UNAUTHENTICATE   (1 << 0)
 Security Key Level: key not authenticated. More...
 
#define SMP_SEC_AUTHENTICATED   (1 << 2)
 Security Key Level: key authenticated. More...
 
#define BTM_OOB_STATE
 OOB Data status. More...
 
#define BTM_OOB_REQ_TYPE
 Type of OOB data required. More...
 
#define BTM_LE_KEY_TYPES
 LE Key type. More...
 
#define BTM_BLE_SCAN_TYPE
 Scan duty cycle (used for BTM_BLE_SCAN_STATE_CHANGED_EVT and wiced_bt_dev_create_connection) More...
 
#define BTM_BLE_KEY_TYPE_ID   1
 Identity resolving key. More...
 
#define BTM_BLE_KEY_TYPE_ER   2
 Encryption root key. More...
 
#define BTM_PM_STATUS_CODES
 Power Management status codes. More...
 
#define WICED_POWER_STATE_ACTIVE   BTM_PM_STS_ACTIVE
 Power Management state. More...
 
#define WICED_POWER_STATE_SNIFF   BTM_PM_STS_SNIFF
 Sniff. More...
 
#define WICED_POWER_STATE_SSR   BTM_PM_STS_SSR
 Sniff subrating notification. More...
 
#define WICED_POWER_STATE_PENDING   BTM_PM_STS_PENDING
 Pending (waiting for status from controller) More...
 
#define WICED_POWER_STATE_ERROR   BTM_PM_STS_ERROR
 Error (controller returned error) More...
 
#define BTM_AFH_CHNL_MAP_SIZE   HCI_AFH_CHANNEL_MAP_LEN
 Channel Map Length. More...
 
#define BTM_MANAGEMENT_EVT
 Bluetooth Management event. More...
 
#define BTM_BLE_ADVERT_MODE
 advertisement type (used when calling wiced_bt_start_advertisements) More...
 
#define BTM_BLE_CONN_MODE
 scan mode used in initiating More...
 

Typedefs

typedef uint8_t wiced_bt_dev_io_cap_t
 IO capabilities. More...
 
typedef uint8_t wiced_bt_dev_auth_req_t
 BR/EDR authentication requirement (see wiced_bt_dev_auth_req_e) More...
 
typedef uint8_t wiced_bt_dev_le_auth_req_t
 LE authentication requirement (see wiced_bt_dev_le_auth_req_e) More...
 
typedef uint8_t wiced_bt_smp_sec_level_t
 LE Security key level. More...
 
typedef uint8_t wiced_bt_dev_oob_data_t
 OOB data (see wiced_bt_dev_oob_data_e) More...
 
typedef uint8_t wiced_bt_dev_passkey_entry_type_t
 Bluetooth pairing keypress value (see wiced_bt_dev_passkey_entry_type_e) More...
 
typedef uint8_t wiced_bt_dev_oob_data_req_type_t
 OOB data type requested (see wiced_bt_dev_oob_data_req_type_t) More...
 
typedef uint8_t wiced_bt_dev_le_key_type_t
 LE key type (see wiced_bt_dev_le_key_type_e) More...
 
typedef uint8_t wiced_bt_ble_scan_type_t
 scan type (see wiced_bt_ble_scan_type_e) More...
 
typedef uint8_t wiced_bt_smp_status_t
 SMP Pairing status (see wiced_bt_smp_status_e) More...
 
typedef uint8_t wiced_bt_dev_power_mgmt_status_t
 Power management status (see wiced_bt_dev_power_mgmt_status_e) More...
 
typedef uint8_t wiced_bt_br_chnl_map_t[BTM_AFH_CHNL_MAP_SIZE]
 Array of Channel Map Length. More...
 
typedef uint8_t wiced_bt_management_evt_t
 Bluetooth management events (see wiced_bt_management_evt_e) More...
 
typedef uint8_t wiced_bt_link_quality_stats_param_t
 Link Quality Statistic Action (see wiced_bt_dev_link_quality_stats_param_e) More...
 
typedef uint16_t wiced_bt_link_policy_settings_t[1]
 Link Policy Settings type (see wiced_bt_link_policy_settings_values_e) More...
 
typedef uint8_t wiced_bt_ble_advert_mode_t
 Advertisement type (see wiced_bt_ble_advert_mode_e) More...
 
typedef uint8_t wiced_bt_ble_conn_mode_t
 Conn mode (see wiced_bt_ble_conn_mode_e) More...
 
typedef wiced_result_t() wiced_bt_management_cback_t(wiced_bt_management_evt_t event, wiced_bt_management_evt_data_t *p_event_data)
 Bluetooth Management callback. More...
 
typedef void() wiced_bt_connection_status_change_cback_t(wiced_bt_device_address_t bd_addr, uint8_t *p_features, wiced_bool_t is_connected, uint16_t handle, wiced_bt_transport_t transport, uint8_t reason)
 Connection status change callback. More...
 
typedef void() wiced_bt_inquiry_result_cback_t(wiced_bt_dev_inquiry_scan_result_t *p_inquiry_result, uint8_t *p_eir_data)
 Inquiry result callback. More...
 
typedef void() wiced_bt_dev_cmpl_cback_t(void *p_data)
 Asynchronous operation complete callback. More...
 
typedef void() wiced_bt_dev_vendor_specific_command_complete_cback_t(wiced_bt_dev_vendor_specific_command_complete_params_t *p_command_complete_params)
 Vendor specific command complete. More...
 
typedef void() wiced_bt_remote_name_cback_t(wiced_bt_dev_remote_name_result_t *p_remote_name_result)
 Remote name result callback. More...
 
typedef void() wiced_bt_dev_vse_callback_t(uint8_t len, uint8_t *p)
 Vendor event handler callback. More...
 
typedef void() wiced_bt_hci_trace_cback_t(wiced_bt_hci_trace_type_t type, uint16_t length, uint8_t *p_data)
 HCI trace callback. More...
 

Enumerations

enum  wiced_bt_sec_flags_e {
  BTM_SEC_LINK_ENCRYPTED = 0x01,
  BTM_SEC_LINK_PAIRED_WITHOUT_MITM = 0x02,
  BTM_SEC_LINK_PAIRED_WITH_MITM = 0x04
}
 security flags for current BR/EDR link More...
 
enum  wiced_bt_dev_io_cap_e {
  BTM_IO_CAPABILITIES_DISPLAY_ONLY = 0,
  BTM_IO_CAPABILITIES_DISPLAY_AND_YES_NO_INPUT = 1,
  BTM_IO_CAPABILITIES_KEYBOARD_ONLY = 2,
  BTM_IO_CAPABILITIES_NONE = 3,
  BTM_IO_CAPABILITIES_BLE_DISPLAY_AND_KEYBOARD_INPUT = 4,
  BTM_IO_CAPABILITIES_MAX = 5
}
 Pairing IO Capabilities. More...
 
enum  wiced_bt_dev_auth_req_e {
  BTM_AUTH_SINGLE_PROFILE_NO = 0,
  BTM_AUTH_SINGLE_PROFILE_YES = 1,
  BTM_AUTH_ALL_PROFILES_NO = 2,
  BTM_AUTH_ALL_PROFILES_YES = 3,
  BTM_AUTH_SINGLE_PROFILE_GENERAL_BONDING_NO = 4,
  BTM_AUTH_SINGLE_PROFILE_GENERAL_BONDING_YES = 5
}
 BR/EDR Authentication requirement. More...
 
enum  wiced_bt_dev_le_auth_req_e {
  BTM_LE_AUTH_REQ_NO_BOND = 0x00,
  BTM_LE_AUTH_REQ_BOND = 0x01,
  BTM_LE_AUTH_REQ_MITM = 0x04,
  BTM_LE_AUTH_REQ_SC = 0x08,
  BTM_LE_AUTH_REQ_KP = 0x10,
  BTM_LE_AUTH_REQ_H7 = 0x20,
  BTM_LE_AUTH_REQ_SC_BOND = (BTM_LE_AUTH_REQ_SC|BTM_LE_AUTH_REQ_BOND),
  BTM_LE_AUTH_REQ_SC_MITM = (BTM_LE_AUTH_REQ_SC|BTM_LE_AUTH_REQ_MITM),
  BTM_LE_AUTH_REQ_SC_MITM_BOND = (BTM_LE_AUTH_REQ_SC|BTM_LE_AUTH_REQ_MITM|BTM_LE_AUTH_REQ_BOND),
  BTM_LE_AUTH_REQ_MASK = 0x3D
}
 LE Authentication requirement. More...
 
enum  wiced_bt_dev_oob_data_e {
  BTM_OOB_NONE,
  BTM_OOB_PRESENT_192,
  BTM_OOB_PRESENT_256,
  BTM_OOB_PRESENT_192_256,
  BTM_OOB_UNKNOWN
}
 OOB Data status. More...
 
enum  wiced_bt_dev_passkey_entry_type_e {
  BTM_PASSKEY_ENTRY_STARTED,
  BTM_PASSKEY_DIGIT_ENTERED,
  BTM_PASSKEY_DIGIT_ERASED,
  BTM_PASSKEY_DIGIT_CLEARED,
  BTM_PASSKEY_ENTRY_COMPLETED
}
 Pairing keypress types. More...
 
enum  wiced_bt_dev_oob_data_req_type_e {
  BTM_OOB_INVALID_TYPE,
  BTM_OOB_PEER,
  BTM_OOB_LOCAL,
  BTM_OOB_BOTH
}
 Type of OOB data required. More...
 
enum  wiced_bt_dev_le_key_type_e {
  BTM_LE_KEY_PENC = (1 << 0),
  BTM_LE_KEY_PID = (1 << 1),
  BTM_LE_KEY_PCSRK = (1 << 2),
  BTM_LE_KEY_PLK = (1 << 3),
  BTM_LE_KEY_LENC = (1 << 4),
  BTM_LE_KEY_LID = (1 << 5),
  BTM_LE_KEY_LCSRK = (1 << 6),
  BTM_LE_KEY_LLK = (1 << 7)
}
 LE Key type. More...
 
enum  wiced_bt_ble_scan_type_e {
  BTM_BLE_SCAN_TYPE_NONE,
  BTM_BLE_SCAN_TYPE_HIGH_DUTY,
  BTM_BLE_SCAN_TYPE_LOW_DUTY,
  BTM_BLE_SCAN_TYPE_LIMITED_HIGH_DUTY,
  BTM_BLE_SCAN_TYPE_LIMITED_LOW_DUTY
}
 Scan duty cycle (used for BTM_BLE_SCAN_STATE_CHANGED_EVT and wiced_bt_dev_create_connection) More...
 
enum  wiced_bt_smp_status_e {
  SMP_SUCCESS = 0,
  SMP_PASSKEY_ENTRY_FAIL = 0x01,
  SMP_OOB_FAIL = 0x02,
  SMP_PAIR_AUTH_FAIL = 0x03,
  SMP_CONFIRM_VALUE_ERR = 0x04,
  SMP_PAIR_NOT_SUPPORT = 0x05,
  SMP_ENC_KEY_SIZE = 0x06,
  SMP_INVALID_CMD = 0x07,
  SMP_PAIR_FAIL_UNKNOWN = 0x08,
  SMP_REPEATED_ATTEMPTS = 0x09,
  SMP_INVALID_PARAMETERS = 0x0A,
  SMP_DHKEY_CHK_FAIL = 0x0B,
  SMP_NUMERIC_COMPAR_FAIL = 0x0C,
  SMP_BR_PAIRING_IN_PROGR = 0x0D,
  SMP_XTRANS_DERIVE_NOT_ALLOW = 0x0E,
  SMP_MAX_FAIL_RSN_PER_SPEC = SMP_XTRANS_DERIVE_NOT_ALLOW,
  SMP_PAIR_INTERNAL_ERR = (SMP_MAX_FAIL_RSN_PER_SPEC + 0x01),
  SMP_UNKNOWN_IO_CAP = (SMP_MAX_FAIL_RSN_PER_SPEC + 0x02),
  SMP_INIT_FAIL = (SMP_MAX_FAIL_RSN_PER_SPEC + 0x03),
  SMP_CONFIRM_FAIL = (SMP_MAX_FAIL_RSN_PER_SPEC + 0x04),
  SMP_BUSY = (SMP_MAX_FAIL_RSN_PER_SPEC + 0x05),
  SMP_ENC_FAIL = (SMP_MAX_FAIL_RSN_PER_SPEC + 0x06),
  SMP_STARTED = (SMP_MAX_FAIL_RSN_PER_SPEC + 0x07),
  SMP_RSP_TIMEOUT = (SMP_MAX_FAIL_RSN_PER_SPEC + 0x08),
  SMP_FAIL = (SMP_MAX_FAIL_RSN_PER_SPEC + 0x09),
  SMP_CONN_TOUT = (SMP_MAX_FAIL_RSN_PER_SPEC + 0x0A)
}
 SMP Pairing status codes. More...
 
enum  wiced_bt_multi_adv_opcodes_t {
  SET_ADVT_PARAM_MULTI = 1,
  SET_ADVT_DATA_MULTI = 2,
  SET_SCAN_RESP_DATA_MULTI = 3,
  SET_RANDOM_ADDR_MULTI = 4,
  SET_ADVT_ENABLE_MULTI = 5
}
 LE Multi adv opcodes returned. More...
 
enum  wiced_bt_dev_power_mgmt_status_e {
  BTM_PM_STS_ACTIVE = HCI_MODE_ACTIVE,
  BTM_PM_STS_HOLD = HCI_MODE_HOLD,
  BTM_PM_STS_SNIFF = HCI_MODE_SNIFF,
  BTM_PM_STS_PARK = HCI_MODE_PARK,
  BTM_PM_STS_SSR,
  BTM_PM_STS_PENDING,
  BTM_PM_STS_ERROR
}
 Power Management status. More...
 
enum  wiced_bt_management_evt_e {
  BTM_ENABLED_EVT,
  BTM_DISABLED_EVT,
  BTM_POWER_MANAGEMENT_STATUS_EVT,
  BTM_RE_START_EVT,
  BTM_PIN_REQUEST_EVT,
  BTM_USER_CONFIRMATION_REQUEST_EVT,
  BTM_PASSKEY_NOTIFICATION_EVT,
  BTM_PASSKEY_REQUEST_EVT,
  BTM_KEYPRESS_NOTIFICATION_EVT,
  BTM_PAIRING_IO_CAPABILITIES_BR_EDR_REQUEST_EVT,
  BTM_PAIRING_IO_CAPABILITIES_BR_EDR_RESPONSE_EVT,
  BTM_PAIRING_IO_CAPABILITIES_BLE_REQUEST_EVT,
  BTM_PAIRING_COMPLETE_EVT,
  BTM_ENCRYPTION_STATUS_EVT,
  BTM_SECURITY_REQUEST_EVT,
  BTM_SECURITY_FAILED_EVT,
  BTM_SECURITY_ABORTED_EVT,
  BTM_READ_LOCAL_OOB_DATA_COMPLETE_EVT,
  BTM_REMOTE_OOB_DATA_REQUEST_EVT,
  BTM_PAIRED_DEVICE_LINK_KEYS_UPDATE_EVT,
  BTM_PAIRED_DEVICE_LINK_KEYS_REQUEST_EVT,
  BTM_LOCAL_IDENTITY_KEYS_UPDATE_EVT,
  BTM_LOCAL_IDENTITY_KEYS_REQUEST_EVT,
  BTM_BLE_SCAN_STATE_CHANGED_EVT,
  BTM_BLE_ADVERT_STATE_CHANGED_EVT,
  BTM_SMP_REMOTE_OOB_DATA_REQUEST_EVT,
  BTM_SMP_SC_REMOTE_OOB_DATA_REQUEST_EVT,
  BTM_SMP_SC_LOCAL_OOB_DATA_NOTIFICATION_EVT,
  BTM_SCO_CONNECTED_EVT,
  BTM_SCO_DISCONNECTED_EVT,
  BTM_SCO_CONNECTION_REQUEST_EVT,
  BTM_SCO_CONNECTION_CHANGE_EVT,
  BTM_BLE_CONNECTION_PARAM_UPDATE,
  BTM_BLE_PHY_UPDATE_EVT,
  BTM_LPM_STATE_LOW_POWER,
  BTM_MULTI_ADVERT_RESP_EVENT,
  BTM_BLE_DATA_LENGTH_UPDATE_EVENT,
  BTM_BLE_SUBRATE_CHANGE_EVENT,
  BTM_BLE_DEVICE_ADDRESS_UPDATE_EVENT
}
 Bluetooth Management events used in wiced_bt_management_cback_t. More...
 
enum  wiced_bt_dev_link_quality_stats_param_e {
  WICED_CLEAR_LINK_QUALITY_STATS = 0,
  WICED_READ_LINK_QUALITY_STATS = 1,
  WICED_READ_THEN_CLEAR_LINK_QUALITY_STATS = 2
}
 Link Quality statistics action type. More...
 
enum  wiced_bt_link_policy_settings_values_e {
  WICED_ENABLE_ROLE_SWITCH = 0x01,
  WICED_ENABLE_HOLD_MODE = 0x02,
  WICED_ENABLE_SNIFF_MODE = 0x04
}
 .Enumeration of known link policy settings value assignments of the wiced_bt_link_policy_settings_t More...
 
enum  wiced_bt_ble_advert_mode_e {
  BTM_BLE_ADVERT_OFF,
  BTM_BLE_ADVERT_DIRECTED_HIGH,
  BTM_BLE_ADVERT_DIRECTED_LOW,
  BTM_BLE_ADVERT_UNDIRECTED_HIGH,
  BTM_BLE_ADVERT_UNDIRECTED_LOW,
  BTM_BLE_ADVERT_NONCONN_HIGH,
  BTM_BLE_ADVERT_NONCONN_LOW,
  BTM_BLE_ADVERT_DISCOVERABLE_HIGH,
  BTM_BLE_ADVERT_DISCOVERABLE_LOW
}
 advertisement type (used when calling wiced_bt_start_advertisements) More...
 
enum  wiced_bt_ble_conn_mode_e {
  BLE_CONN_MODE_OFF,
  BLE_CONN_MODE_LOW_DUTY,
  BLE_CONN_MODE_HIGH_DUTY
}
 scan mode used in initiating More...
 
enum  wiced_bt_hci_trace_type_t {
  HCI_TRACE_EVENT,
  HCI_TRACE_COMMAND,
  HCI_TRACE_INCOMING_ACL_DATA,
  HCI_TRACE_OUTGOING_ACL_DATA,
  HCI_TRACE_INCOMING_ISO_DATA,
  HCI_TRACE_OUTGOING_ISO_DATA,
  HCI_TRACE_INCOMING_SCO_DATA,
  HCI_TRACE_OUTGOING_SCO_DATA
}
 HCI trace types. More...
 

Functions

void wiced_bt_dev_register_hci_trace (wiced_bt_hci_trace_cback_t *p_cback)
 API to register a callbak to get hci traces. More...
 
void wiced_bt_dev_update_hci_trace_mode (wiced_bool_t enable)
 API to update the hci trace mode. More...
 
void wiced_bt_dev_update_debug_trace_mode (wiced_bool_t enable)
 API to update the debug trace mode. More...
 
wiced_result_t wiced_bt_set_local_bdaddr (wiced_bt_device_address_t bd_addr, wiced_bt_ble_address_type_t addr_type)
 API to set Local Bluetooth Device Address. More...
 
wiced_result_t wiced_bt_dev_get_role (wiced_bt_device_address_t remote_bd_addr, wiced_bt_dev_role_t *p_role, wiced_bt_transport_t transport)
 API to get the role of the local device for the ACL connection with the specified remote device. More...
 
void wiced_bt_set_pairable_mode (uint8_t allow_pairing, uint8_t connect_only_paired)
 API to enable or disable pairing. More...
 
wiced_result_t wiced_bt_dev_register_vse_callback (wiced_bt_dev_vse_callback_t cb)
 Application can register Vendor-Specific HCI event callback using this API. More...
 
wiced_result_t wiced_bt_dev_deregister_vse_callback (wiced_bt_dev_vse_callback_t cb)
 Application can deregister Vendor-Specific HCI event callback using this API. More...
 
wiced_bt_dev_status_t wiced_bt_dev_link_quality_stats (wiced_bt_device_address_t bda, wiced_bt_transport_t transport, uint8_t action, wiced_bt_dev_cmpl_cback_t *p_cback)
 This API is called to get the statistics for an ACL link. More...
 
wiced_result_t wiced_bt_set_tx_power (wiced_bt_device_address_t bd_addr, int8_t power, wiced_bt_dev_vendor_specific_command_complete_cback_t *p_cb)
 Command to set the transmit power on given link. More...
 
wiced_result_t wiced_bt_set_transmit_power_range (wiced_bt_device_address_t bd_addr, int8_t max_tx_power, int8_t min_tx_power, wiced_bt_dev_vendor_specific_command_complete_cback_t *p_cb)
 Command to set the range of transmit power on the link. More...
 
wiced_result_t wiced_bt_dev_read_tx_power (wiced_bt_device_address_t remote_bda, wiced_bt_transport_t transport, wiced_bt_dev_cmpl_cback_t *p_cback)
 API to read the transmit power for the requested link associated with remote_bda This API sends HCI_Read_Transmit_Power_Level command to Controller. More...
 
wiced_result_t wiced_bt_dev_get_ble_keys (wiced_bt_device_address_t bd_addr, wiced_bt_dev_le_key_type_t *p_key_mask)
 API to get LE key mask from stored key information of nv ram. More...
 
wiced_result_t wiced_bt_dev_add_device_to_address_resolution_db (wiced_bt_device_link_keys_t *p_link_keys)
 Depending on whether Host or Controller side address resolution is enabled, this API will add link key information to internal address resolution database maintained by AIROC Bluetooth stack or send HCI_LE_Add_Device_To_Resolving_List command to local controller. More...
 
wiced_result_t wiced_bt_dev_remove_device_from_address_resolution_db (wiced_bt_device_link_keys_t *p_link_keys)
 Depending on whether Host or Controller side address resolution is enabled, this API will remove link key information from internal address resolution database maintained by AIROC Bluetooth stack or send HCI_LE_Remove_Device_From_Resolving_List command to local controller. More...
 
uint16_t wiced_bt_dev_get_acl_conn_handle (wiced_bt_device_address_t bdaddr, wiced_bt_transport_t transport)
 API to get the acl connection handle for the given device using its bluetooth address. More...
 
wiced_result_t wiced_bt_dev_sec_bond (wiced_bt_device_address_t bd_addr, wiced_bt_ble_address_type_t bd_addr_type, wiced_bt_transport_t transport, uint8_t pin_len, uint8_t *p_pin)
 API to bond with the peer device. More...
 
wiced_result_t wiced_bt_dev_sec_pair_without_bonding (wiced_bt_device_address_t bd_addr, wiced_bt_ble_address_type_t bd_addr_type, wiced_bt_transport_t transport, uint8_t pin_len, uint8_t *p_pin)
 API to pair with the peer device without storing the keys. More...
 
wiced_result_t wiced_bt_dev_sec_bond_cancel (wiced_bt_device_address_t bd_addr)
 API to cancel an ongoing bonding process with peer device. More...
 
wiced_result_t wiced_bt_dev_set_encryption (wiced_bt_device_address_t bd_addr, wiced_bt_transport_t transport, void *p_ref_data)
 API to encrypt the specified connection identified by bluetooth address of peer device. More...
 
void wiced_bt_dev_confirm_req_reply (wiced_result_t res, wiced_bt_device_address_t bd_addr)
 API to confirm the numeric value for pairing (in response to BTM_USER_CONFIRMATION_REQUEST_EVT and BTM_PASSKEY_NOTIFICATION_EVT of wiced_bt_management_cback_t) More...
 
void wiced_bt_dev_send_key_press_notif (wiced_bt_device_address_t bd_addr, wiced_bt_dev_passkey_entry_type_t type)
 API to inform the remote device, identified by its bluetooth address, of key press during pairing. More...
 
wiced_result_t wiced_bt_dev_delete_bonded_device (wiced_bt_device_address_t bd_addr)
 API to remove bonding with the remote device identified with its bluetooth address. More...
 
wiced_bool_t wiced_bt_dev_get_security_state (wiced_bt_device_address_t bd_addr, uint8_t *p_sec_flags)
 API to get security flags for the device. More...
 

Detailed Description

Bluetooth Management (BTM) Application Programming Interface.

The BTM consists of several management entities:

  1. Device Control - controls the local device
  2. Device Discovery - manages inquiries, discover database
  3. ACL Channels - manages ACL connections (BR/EDR and LE)
  4. SCO Channels - manages SCO connections
  5. Security - manages all security functionality
  6. Power Management - manages park, sniff, hold, etc.

Macro Definition Documentation

◆ BTM_AFH_CHNL_MAP_SIZE

#define BTM_AFH_CHNL_MAP_SIZE   HCI_AFH_CHANNEL_MAP_LEN

Channel Map Length.

◆ BTM_BLE_ADVERT_MODE

#define BTM_BLE_ADVERT_MODE

advertisement type (used when calling wiced_bt_start_advertisements)

◆ BTM_BLE_CONN_MODE

#define BTM_BLE_CONN_MODE

scan mode used in initiating

◆ BTM_BLE_KEY_TYPE_ER

#define BTM_BLE_KEY_TYPE_ER   2

Encryption root key.

◆ BTM_BLE_KEY_TYPE_ID

#define BTM_BLE_KEY_TYPE_ID   1

Identity resolving key.

◆ BTM_BLE_SCAN_TYPE

#define BTM_BLE_SCAN_TYPE

Scan duty cycle (used for BTM_BLE_SCAN_STATE_CHANGED_EVT and wiced_bt_dev_create_connection)

◆ BTM_INQ_RES_IGNORE_RSSI

#define BTM_INQ_RES_IGNORE_RSSI   0x7f

RSSI value not supplied (ignore it)

◆ BTM_LE_KEY_TYPES

#define BTM_LE_KEY_TYPES

LE Key type.

◆ BTM_MANAGEMENT_EVT

#define BTM_MANAGEMENT_EVT

Bluetooth Management event.

◆ BTM_OOB_REQ_TYPE

#define BTM_OOB_REQ_TYPE

Type of OOB data required.

◆ BTM_OOB_STATE

#define BTM_OOB_STATE

OOB Data status.

◆ BTM_PIN_TYPE_FIXED

#define BTM_PIN_TYPE_FIXED   HCI_PIN_TYPE_FIXED

Fix Length Pin Type.

◆ BTM_PIN_TYPE_VARIABLE

#define BTM_PIN_TYPE_VARIABLE   HCI_PIN_TYPE_VARIABLE

Variable Pin Type.

◆ BTM_PM_STATUS_CODES

#define BTM_PM_STATUS_CODES

Power Management status codes.

◆ BTM_SCAN_PARAM_IGNORE

#define BTM_SCAN_PARAM_IGNORE   0

Passed to BTM_SetScanConfig() to ignore.

◆ BTM_SECURITY_KEY_DATA_LEN

#define BTM_SECURITY_KEY_DATA_LEN   132

Security key data length (used by wiced_bt_device_link_keys_t structure)

◆ BTM_SECURITY_LOCAL_KEY_DATA_LEN

#define BTM_SECURITY_LOCAL_KEY_DATA_LEN   65

Local security key data length (used by wiced_bt_local_identity_keys_t structure)

◆ SMP_SEC_AUTHENTICATED

#define SMP_SEC_AUTHENTICATED   (1 << 2)

Security Key Level: key authenticated.

◆ SMP_SEC_NONE

#define SMP_SEC_NONE   0

LE Security key level.

Security Key Level: None

◆ SMP_SEC_UNAUTHENTICATE

#define SMP_SEC_UNAUTHENTICATE   (1 << 0)

Security Key Level: key not authenticated.

◆ WICED_POWER_STATE_ACTIVE

#define WICED_POWER_STATE_ACTIVE   BTM_PM_STS_ACTIVE

Power Management state.

Active

◆ WICED_POWER_STATE_ERROR

#define WICED_POWER_STATE_ERROR   BTM_PM_STS_ERROR

Error (controller returned error)

◆ WICED_POWER_STATE_PENDING

#define WICED_POWER_STATE_PENDING   BTM_PM_STS_PENDING

Pending (waiting for status from controller)

◆ WICED_POWER_STATE_SNIFF

#define WICED_POWER_STATE_SNIFF   BTM_PM_STS_SNIFF

Sniff.

◆ WICED_POWER_STATE_SSR

#define WICED_POWER_STATE_SSR   BTM_PM_STS_SSR

Sniff subrating notification.

Typedef Documentation

◆ wiced_bt_ble_advert_mode_t

typedef uint8_t wiced_bt_ble_advert_mode_t

Advertisement type (see wiced_bt_ble_advert_mode_e)

◆ wiced_bt_ble_conn_mode_t

typedef uint8_t wiced_bt_ble_conn_mode_t

Conn mode (see wiced_bt_ble_conn_mode_e)

◆ wiced_bt_ble_scan_type_t

typedef uint8_t wiced_bt_ble_scan_type_t

scan type (see wiced_bt_ble_scan_type_e)

◆ wiced_bt_br_chnl_map_t

typedef uint8_t wiced_bt_br_chnl_map_t[BTM_AFH_CHNL_MAP_SIZE]

Array of Channel Map Length.

◆ wiced_bt_connection_status_change_cback_t

typedef void() wiced_bt_connection_status_change_cback_t(wiced_bt_device_address_t bd_addr, uint8_t *p_features, wiced_bool_t is_connected, uint16_t handle, wiced_bt_transport_t transport, uint8_t reason)

Connection status change callback.

Callback for Bluetooth Management event notifications. Registered using wiced_bt_register_connection_status_change()

Parameters
[in]bd_addr: BD Address of remote
[in]p_features: unused (NULL)
[in]is_connected: TRUE if connected
[in]handle: Connection handle
[in]transport: BT_TRANSPORT_BR_EDR or BT_TRANSPORT_LE
[in]reason: status for acl connection change
HCI_SUCCESS
HCI_ERR_PAGE_TIMEOUT
HCI_ERR_MEMORY_FULL
HCI_ERR_CONNECTION_TOUT
HCI_ERR_PEER_USER
HCI_ERR_CONN_CAUSE_LOCAL_HOST
HCI_ERR_LMP_RESPONSE_TIMEOUT
HCI_ERR_CONN_FAILED_ESTABLISHMENT
connection status change callback

◆ wiced_bt_dev_auth_req_t

typedef uint8_t wiced_bt_dev_auth_req_t

BR/EDR authentication requirement (see wiced_bt_dev_auth_req_e)

◆ wiced_bt_dev_cmpl_cback_t

typedef void() wiced_bt_dev_cmpl_cback_t(void *p_data)

Asynchronous operation complete callback.

Parameters
p_data: Operation dependent data
Returns
void

◆ wiced_bt_dev_io_cap_t

typedef uint8_t wiced_bt_dev_io_cap_t

IO capabilities.

◆ wiced_bt_dev_le_auth_req_t

typedef uint8_t wiced_bt_dev_le_auth_req_t

LE authentication requirement (see wiced_bt_dev_le_auth_req_e)

◆ wiced_bt_dev_le_key_type_t

typedef uint8_t wiced_bt_dev_le_key_type_t

LE key type (see wiced_bt_dev_le_key_type_e)

◆ wiced_bt_dev_oob_data_req_type_t

OOB data type requested (see wiced_bt_dev_oob_data_req_type_t)

◆ wiced_bt_dev_oob_data_t

typedef uint8_t wiced_bt_dev_oob_data_t

OOB data (see wiced_bt_dev_oob_data_e)

◆ wiced_bt_dev_passkey_entry_type_t

Bluetooth pairing keypress value (see wiced_bt_dev_passkey_entry_type_e)

◆ wiced_bt_dev_power_mgmt_status_t

Power management status (see wiced_bt_dev_power_mgmt_status_e)

◆ wiced_bt_dev_vendor_specific_command_complete_cback_t

typedef void() wiced_bt_dev_vendor_specific_command_complete_cback_t(wiced_bt_dev_vendor_specific_command_complete_params_t *p_command_complete_params)

Vendor specific command complete.

Parameters
p_command_complete_params: Command complete parameters.
Returns
void

◆ wiced_bt_dev_vse_callback_t

typedef void() wiced_bt_dev_vse_callback_t(uint8_t len, uint8_t *p)

Vendor event handler callback.

Parameters
len: input data length
p: input data

◆ wiced_bt_hci_trace_cback_t

typedef void() wiced_bt_hci_trace_cback_t(wiced_bt_hci_trace_type_t type, uint16_t length, uint8_t *p_data)

HCI trace callback.

Callback for HCI traces Registered using wiced_bt_dev_register_hci_trace()

Parameters
[in]type: Trace type
[in]length: Length of the trace data
[in]p_data: Pointer to the data
Returns
void

◆ wiced_bt_inquiry_result_cback_t

typedef void() wiced_bt_inquiry_result_cback_t(wiced_bt_dev_inquiry_scan_result_t *p_inquiry_result, uint8_t *p_eir_data)

Inquiry result callback.

Parameters
p_inquiry_result: Inquiry result data (NULL if inquiry is complete)
p_eir_data: Extended inquiry response datainquiry result callback

◆ wiced_bt_link_policy_settings_t

typedef uint16_t wiced_bt_link_policy_settings_t[1]

Link Policy Settings type (see wiced_bt_link_policy_settings_values_e)

◆ wiced_bt_link_quality_stats_param_t

Link Quality Statistic Action (see wiced_bt_dev_link_quality_stats_param_e)

◆ wiced_bt_management_cback_t

typedef wiced_result_t() wiced_bt_management_cback_t(wiced_bt_management_evt_t event, wiced_bt_management_evt_data_t *p_event_data)

Bluetooth Management callback.

Callback for Bluetooth Management event notifications. Registered using wiced_bt_stack_init()

Parameters
event: Event ID
p_event_data: Event data
Returns
Status of event handling

◆ wiced_bt_management_evt_t

typedef uint8_t wiced_bt_management_evt_t

Bluetooth management events (see wiced_bt_management_evt_e)

◆ wiced_bt_remote_name_cback_t

typedef void() wiced_bt_remote_name_cback_t(wiced_bt_dev_remote_name_result_t *p_remote_name_result)

Remote name result callback.

Parameters
p_remote_name_result: Remote name result data
Returns
voidremote name result callback

◆ wiced_bt_smp_sec_level_t

typedef uint8_t wiced_bt_smp_sec_level_t

LE Security key level.

◆ wiced_bt_smp_status_t

typedef uint8_t wiced_bt_smp_status_t

SMP Pairing status (see wiced_bt_smp_status_e)

Enumeration Type Documentation

◆ wiced_bt_ble_advert_mode_e

advertisement type (used when calling wiced_bt_start_advertisements)

Enumerator
BTM_BLE_ADVERT_OFF 

Stop advertising.

BTM_BLE_ADVERT_DIRECTED_HIGH 

Directed advertisement (high duty cycle)

BTM_BLE_ADVERT_DIRECTED_LOW 

Directed advertisement (low duty cycle)

BTM_BLE_ADVERT_UNDIRECTED_HIGH 

Undirected advertisement (high duty cycle)

BTM_BLE_ADVERT_UNDIRECTED_LOW 

Undirected advertisement (low duty cycle)

BTM_BLE_ADVERT_NONCONN_HIGH 

Non-connectable advertisement (high duty cycle)

BTM_BLE_ADVERT_NONCONN_LOW 

Non-connectable advertisement (low duty cycle)

BTM_BLE_ADVERT_DISCOVERABLE_HIGH 

discoverable advertisement (high duty cycle)

BTM_BLE_ADVERT_DISCOVERABLE_LOW 

discoverable advertisement (low duty cycle)

◆ wiced_bt_ble_conn_mode_e

scan mode used in initiating

Enumerator
BLE_CONN_MODE_OFF 

Stop initiating.

BLE_CONN_MODE_LOW_DUTY 

slow connection scan parameter

BLE_CONN_MODE_HIGH_DUTY 

fast connection scan parameter

◆ wiced_bt_ble_scan_type_e

Scan duty cycle (used for BTM_BLE_SCAN_STATE_CHANGED_EVT and wiced_bt_dev_create_connection)

Enumerator
BTM_BLE_SCAN_TYPE_NONE 

Stop scanning.

BTM_BLE_SCAN_TYPE_HIGH_DUTY 

General inquiry high duty cycle scan.

BTM_BLE_SCAN_TYPE_LOW_DUTY 

General inquiry low duty cycle scan.

BTM_BLE_SCAN_TYPE_LIMITED_HIGH_DUTY 

Limited inquiry high duty cycle scan.

BTM_BLE_SCAN_TYPE_LIMITED_LOW_DUTY 

Limited inquiry low duty cycle scan.

◆ wiced_bt_dev_auth_req_e

BR/EDR Authentication requirement.

Enumerator
BTM_AUTH_SINGLE_PROFILE_NO 

MITM Protection Not Required - Single Profile/non-bonding.

Numeric comparison with automatic accept allowed

BTM_AUTH_SINGLE_PROFILE_YES 

MITM Protection Required - Single Profile/non-bonding.

Use IO Capabilities to determine authentication procedure

BTM_AUTH_ALL_PROFILES_NO 

MITM Protection Not Required - All Profiles/dedicated bonding.

Numeric comparison with automatic accept allowed

BTM_AUTH_ALL_PROFILES_YES 

MITM Protection Required - All Profiles/dedicated bonding.

Use IO Capabilities to determine authentication procedure

BTM_AUTH_SINGLE_PROFILE_GENERAL_BONDING_NO 

MITM Protection Not Required - Single Profiles/general bonding.

Numeric comparison with automatic accept allowed

BTM_AUTH_SINGLE_PROFILE_GENERAL_BONDING_YES 

MITM Protection Required - Single Profiles/general bonding.

Use IO Capabilities to determine authentication procedure

◆ wiced_bt_dev_io_cap_e

Pairing IO Capabilities.

Enumerator
BTM_IO_CAPABILITIES_DISPLAY_ONLY 

Display Only.

BTM_IO_CAPABILITIES_DISPLAY_AND_YES_NO_INPUT 

Display Yes/No.

BTM_IO_CAPABILITIES_KEYBOARD_ONLY 

Keyboard Only.

BTM_IO_CAPABILITIES_NONE 

No Input, No Output.

BTM_IO_CAPABILITIES_BLE_DISPLAY_AND_KEYBOARD_INPUT 

Keyboard display (For LE SMP)

BTM_IO_CAPABILITIES_MAX 

Max value for IO capability.

◆ wiced_bt_dev_le_auth_req_e

LE Authentication requirement.

Enumerator
BTM_LE_AUTH_REQ_NO_BOND 

Not required - No Bond.

BTM_LE_AUTH_REQ_BOND 

Required - General Bond.

BTM_LE_AUTH_REQ_MITM 

MITM required - Auth Y/N.

BTM_LE_AUTH_REQ_SC 

LE Secure Connection or legacy, no MITM, no Bonding.

BTM_LE_AUTH_REQ_KP 

Keypress supported Y/N.

BTM_LE_AUTH_REQ_H7 

Key derivation function H7 supported Y/N.

BTM_LE_AUTH_REQ_SC_BOND 

LE Secure Connection or legacy, no MITM, Bonding.

BTM_LE_AUTH_REQ_SC_MITM 

LE Secure Connection or legacy, MITM, no Bonding.

BTM_LE_AUTH_REQ_SC_MITM_BOND 

LE Secure Connection or legacy , MITM, Bonding.

BTM_LE_AUTH_REQ_MASK 

Auth Request Mask.

◆ wiced_bt_dev_le_key_type_e

LE Key type.

Enumerator
BTM_LE_KEY_PENC 

encryption information of peer device

BTM_LE_KEY_PID 

identity key of the peer device

BTM_LE_KEY_PCSRK 

peer SRK

BTM_LE_KEY_PLK 

peer link key

BTM_LE_KEY_LENC 

Central role security information:div.

BTM_LE_KEY_LID 

Central device ID key.

BTM_LE_KEY_LCSRK 

local CSRK has been deliver to peer

BTM_LE_KEY_LLK 

Local link key.

◆ wiced_bt_dev_link_quality_stats_param_e

Link Quality statistics action type.

Enumerator
WICED_CLEAR_LINK_QUALITY_STATS 

clear link quality stats

WICED_READ_LINK_QUALITY_STATS 

read link quality stats

WICED_READ_THEN_CLEAR_LINK_QUALITY_STATS 

read then clear link quality stats

◆ wiced_bt_dev_oob_data_e

OOB Data status.

Enumerator
BTM_OOB_NONE 

No OOB data.

BTM_OOB_PRESENT_192 

OOB data present (from the P-192 public key)

BTM_OOB_PRESENT_256 

OOB data present (from the P-256 public key)

BTM_OOB_PRESENT_192_256 

OOB data present (from the P-192 and P-256 public keys)

BTM_OOB_UNKNOWN 

OOB data unknown.

◆ wiced_bt_dev_oob_data_req_type_e

Type of OOB data required.

Enumerator
BTM_OOB_INVALID_TYPE 

Invalid OOB Type.

BTM_OOB_PEER 

Peer OOB data requested.

BTM_OOB_LOCAL 

Local OOB data requested.

BTM_OOB_BOTH 

Both local and peer OOB data requested.

◆ wiced_bt_dev_passkey_entry_type_e

Pairing keypress types.

Enumerator
BTM_PASSKEY_ENTRY_STARTED 

passkey entry started

BTM_PASSKEY_DIGIT_ENTERED 

passkey digit entered

BTM_PASSKEY_DIGIT_ERASED 

passkey digit erased

BTM_PASSKEY_DIGIT_CLEARED 

passkey cleared

BTM_PASSKEY_ENTRY_COMPLETED 

passkey entry completed

◆ wiced_bt_dev_power_mgmt_status_e

Power Management status.

Enumerator
BTM_PM_STS_ACTIVE 

Active.

BTM_PM_STS_HOLD 

Hold.

BTM_PM_STS_SNIFF 

Sniff.

BTM_PM_STS_PARK 

Park.

BTM_PM_STS_SSR 

Sniff subrating notification.

BTM_PM_STS_PENDING 

Pending (waiting for status from controller)

BTM_PM_STS_ERROR 

Error (controller returned error)

◆ wiced_bt_hci_trace_type_t

HCI trace types.

Enumerator
HCI_TRACE_EVENT 

HCI event data from controller to the host.

HCI_TRACE_COMMAND 

HCI command data from host to controller.

HCI_TRACE_INCOMING_ACL_DATA 

HCI incoming acl data.

HCI_TRACE_OUTGOING_ACL_DATA 

HCI outgoing acl data.

HCI_TRACE_INCOMING_ISO_DATA 

HCI incoming ISO data.

HCI_TRACE_OUTGOING_ISO_DATA 

HCI outgoing ISO data.

HCI_TRACE_INCOMING_SCO_DATA 

HCI incoming sco data.

HCI_TRACE_OUTGOING_SCO_DATA 

HCI outgoing sco data.

◆ wiced_bt_link_policy_settings_values_e

.Enumeration of known link policy settings value assignments of the wiced_bt_link_policy_settings_t

Enumerator
WICED_ENABLE_ROLE_SWITCH 

Enable Role Switch.

WICED_ENABLE_HOLD_MODE 

Enable Hold mode.

WICED_ENABLE_SNIFF_MODE 

Enable Sniff mode.

◆ wiced_bt_management_evt_e

Bluetooth Management events used in wiced_bt_management_cback_t.

Note
Some of the events are BR/EDR events which are available only in dual mode (BR/EDR+LE) operation
Return values of the management events Return values of notification and status events are typically not checked, unless explicitly mentioned. Return values of events requesting information from app should be WICED_BT_ERROR for cases where the app does not handle the events. For the request events which are handled by the app, indicate WICED_BT_SUCCESS as per the specific requirements of the event as documented below.
Enumerator
BTM_ENABLED_EVT 

Event notifies Bluetooth controller and host stack is enabled.

Event data: wiced_bt_management_evt_data_t::enabled Indicates the stack is up. Application can now start calling bluetooth AIROC Bluetooth APIs

BTM_DISABLED_EVT 

Event notifies Bluetooth controller and host stack disabled.

Event data: NULL

BTM_POWER_MANAGEMENT_STATUS_EVT 

Event notifies Power management status change.

Event data: wiced_bt_management_evt_data_t::power_mgmt_notification

BTM_RE_START_EVT 

Event notifies Bluetooth controller and host stack re-enabled.

Event data: wiced_bt_management_evt_data_t::enabled

Note
: Not used
BTM_PIN_REQUEST_EVT 

Event requests app for the PIN to be used for pairing (legacy pairing only).

Event data: wiced_bt_management_evt_data_t::pin_request

BTM_USER_CONFIRMATION_REQUEST_EVT 

Event requests user confirmation for the numeric value to continue the App is expected to respond with using wiced_bt_dev_confirm_req_reply typically by confirming via a display to the user Event data: wiced_bt_management_evt_data_t::user_confirmation_request.

BTM_PASSKEY_NOTIFICATION_EVT 

Event notifies user passkey app App is expected to display the passkey to the user Event data: wiced_bt_management_evt_data_t::user_passkey_notification.

BTM_PASSKEY_REQUEST_EVT 

Event requests user passkey from app Event data: wiced_bt_management_evt_data_t::user_passkey_request.

BTM_KEYPRESS_NOTIFICATION_EVT 

Event notifies keypress notification event to app Event data: wiced_bt_management_evt_data_t::user_keypress_notification.

BTM_PAIRING_IO_CAPABILITIES_BR_EDR_REQUEST_EVT 

Event requests BR/EDR IO capabilities for BR/EDR pairing from app Event data: wiced_bt_management_evt_data_t::pairing_io_capabilities_br_edr_request App is expected to fill in it's BR/EDR IO capabilities into the incoming wiced_bt_management_evt_data_t::pairing_io_capabilities_br_edr_request structure member.

Note
BR/EDR Only
BTM_PAIRING_IO_CAPABILITIES_BR_EDR_RESPONSE_EVT 

Event notifies received IO capabilities response for BR/EDR pairing.

Event data: wiced_bt_management_evt_data_t::pairing_io_capabilities_br_edr_response

Note
BR/EDR Only
BTM_PAIRING_IO_CAPABILITIES_BLE_REQUEST_EVT 

Event requests LE IO capabilities for LE pairing from app.

Peripheral can check peer io capabilities in event data before updating with local io capabilities. Event data: wiced_bt_management_evt_data_t::pairing_io_capabilities_ble_request

BTM_PAIRING_COMPLETE_EVT 

Event notifies simple pairing complete to app Event data: wiced_bt_management_evt_data_t::pairing_complete.

BTM_ENCRYPTION_STATUS_EVT 

Event notifies encryption status change to app Event data: wiced_bt_management_evt_data_t::encryption_status.

BTM_SECURITY_REQUEST_EVT 

Event requests app to allow stack to continue Security procedures/pairing to continue with the peer.

App needs to respond with wiced_bt_ble_security_grant App is expected to either allow or deny the incoming pairing request based on it's state Event data: wiced_bt_management_evt_data_t::security_request

BTM_SECURITY_FAILED_EVT 

Event notifies Security procedure/authentication failed to app Event data: wiced_bt_management_evt_data_t::security_failed.

BTM_SECURITY_ABORTED_EVT 

Event notifies security procedure aborted locally, or unexpected link drop.

Event data: wiced_bt_management_evt_data_t::security_aborted

BTM_READ_LOCAL_OOB_DATA_COMPLETE_EVT 

Event notifies result of reading local OOB data from the controller Event data: wiced_bt_management_evt_data_t::read_local_oob_data_complete.

Note
BR/EDR Only
BTM_REMOTE_OOB_DATA_REQUEST_EVT 

Event requests OOB data of the remote device from app Event data: wiced_bt_management_evt_data_t::remote_oob_data_request.

Note
BR/EDR Only
BTM_PAIRED_DEVICE_LINK_KEYS_UPDATE_EVT 

Event notifies app with the updated remote device link keys in this event.

App is expected to store device_link_keys to NV memory. This is the place to verify that the correct link key has been generated. Event data: wiced_bt_management_evt_data_t::paired_device_link_keys_update

BTM_PAIRED_DEVICE_LINK_KEYS_REQUEST_EVT 

Event requests for stored remote device link keys from app (restore device_link_keys from NV memory).

If available then fill the stored keys into wiced_bt_management_evt_data_t.paired_device_link_keys_request and return WICED_BT_SUCCESS else WICED_BT_ERROR Event data: wiced_bt_management_evt_data_t::paired_device_link_keys_request

BTM_LOCAL_IDENTITY_KEYS_UPDATE_EVT 

Event notifies updated local identity key to the app (stored local_identity_keys NV memory).

App is expected to store the identity key to NV memory. Event data: wiced_bt_management_evt_data_t::local_identity_keys_update

BTM_LOCAL_IDENTITY_KEYS_REQUEST_EVT 

Event requests local identity key from app (get local_identity_keys from NV memory).

If available then fill the local key into wiced_bt_management_evt_data_t.local_identity_keys_request and return WICED_BT_SUCCESS else WICED_BT_ERROR. Event data: wiced_bt_management_evt_data_t::local_identity_keys_request

BTM_BLE_SCAN_STATE_CHANGED_EVT 

Event notifies LE scan state change to app Event data: wiced_bt_management_evt_data_t::ble_scan_state_changed.

BTM_BLE_ADVERT_STATE_CHANGED_EVT 

Event notifies LE advertisement state change to app Event data: wiced_bt_management_evt_data_t::ble_advert_state_changed.

BTM_SMP_REMOTE_OOB_DATA_REQUEST_EVT 

Event requests SMP remote oob data.

Reply using wiced_bt_smp_oob_data_reply. Event data: wiced_bt_management_evt_data_t::smp_remote_oob_data_request

BTM_SMP_SC_REMOTE_OOB_DATA_REQUEST_EVT 

Event requests LE secure connection remote oob data request.

Reply using wiced_bt_smp_sc_oob_reply. Event data: wiced_bt_management_evt_data_t::smp_sc_remote_oob_data_request

BTM_SMP_SC_LOCAL_OOB_DATA_NOTIFICATION_EVT 

Event notifies LE secure connection local OOB data (wiced_bt_smp_create_local_sc_oob_data) returned by the stack The app is expected to copy the data into it's memory and share out of band with the peer Event data: wiced_bt_management_evt_data_t::p_smp_sc_local_oob_data.

BTM_SCO_CONNECTED_EVT 

Event notfies SCO connected to app Event data: wiced_bt_management_evt_data_t::sco_connected.

Note
BR/EDR Only
BTM_SCO_DISCONNECTED_EVT 

Event notifies SCO disconnected event to app Event data: wiced_bt_management_evt_data_t::sco_disconnected.

Note
BR/EDR Only
BTM_SCO_CONNECTION_REQUEST_EVT 

Event notifies SCO connection request to app App is expected to reply with.

Event data: wiced_bt_management_evt_data_t::sco_connection_request

Note
BR/EDR Only
BTM_SCO_CONNECTION_CHANGE_EVT 

Event notifies SCO connection change to app Event data: wiced_bt_management_evt_data_t::sco_connection_change.

Note
BR/EDR Only
BTM_BLE_CONNECTION_PARAM_UPDATE 

Event notifies LE connection parameter update to app Event data: wiced_bt_management_evt_data_t::ble_connection_param_update.

BTM_BLE_PHY_UPDATE_EVT 

Event notifies LE Physical link update to app Event data: wiced_bt_management_evt_data_t::ble_phy_update_event.

BTM_LPM_STATE_LOW_POWER 

Event notifies Bluetooth device wake has been deasserted.

Used for Host Stack Use Case.

BTM_MULTI_ADVERT_RESP_EVENT 

Event notifies Multi adv command status event used for the status of the command sent Event data: wiced_bt_management_evt_data_t::ble_multi_adv_response_event.

BTM_BLE_DATA_LENGTH_UPDATE_EVENT 

Event to notify change in the data length and timeout configured for Rx and Tx on the LE link Event data: wiced_bt_management_evt_data_t::ble_data_length_update_event.

BTM_BLE_SUBRATE_CHANGE_EVENT 

Event to notify subrate change event BLE link Event data: wiced_bt_management_evt_data_t::ble_subrate_change_event.

BTM_BLE_DEVICE_ADDRESS_UPDATE_EVENT 

Event to notify change in the device address Application can register to receive a callback on device address update through wiced_bt_ble_notify_on_device_address_change Event data: wiced_bt_management_evt_data_t::ble_subrate_change_event.

◆ wiced_bt_multi_adv_opcodes_t

LE Multi adv opcodes returned.

Enumerator
SET_ADVT_PARAM_MULTI 

Opcode as a result of calling wiced_set_multi_advertisement_params.

SET_ADVT_DATA_MULTI 

Opcode as a result of calling wiced_set_multi_advertisement_data.

SET_SCAN_RESP_DATA_MULTI 

Opcode as a result of calling wiced_set_multi_advertisement_scan_response_data.

SET_RANDOM_ADDR_MULTI 

Opcode as a result of calling wiced_set_multi_advertisements_random_address.

SET_ADVT_ENABLE_MULTI 

Opcode as a result of calling wiced_start_multi_advertisements.

◆ wiced_bt_sec_flags_e

security flags for current BR/EDR link

Enumerator
BTM_SEC_LINK_ENCRYPTED 

Link encrypted.

BTM_SEC_LINK_PAIRED_WITHOUT_MITM 

Paired without man-in-the-middle protection.

BTM_SEC_LINK_PAIRED_WITH_MITM 

Link with man-in-the-middle protection.

◆ wiced_bt_smp_status_e

SMP Pairing status codes.

Enumerator
SMP_SUCCESS 

Success.

SMP_PASSKEY_ENTRY_FAIL 

Passkey entry failed.

SMP_OOB_FAIL 

OOB failed.

SMP_PAIR_AUTH_FAIL 

Authentication failed.

SMP_CONFIRM_VALUE_ERR 

Value confirmation failed.

SMP_PAIR_NOT_SUPPORT 

Not supported.

SMP_ENC_KEY_SIZE 

Encryption key size failure.

SMP_INVALID_CMD 

Invalid command.

SMP_PAIR_FAIL_UNKNOWN 

Unknown failure.

SMP_REPEATED_ATTEMPTS 

Repeated attempts.

SMP_INVALID_PARAMETERS 

Invalid parameters.

SMP_DHKEY_CHK_FAIL 

DH Key check failed.

SMP_NUMERIC_COMPAR_FAIL 

Numeric comparison failed.

SMP_BR_PAIRING_IN_PROGR 

BR paIring in progress.

SMP_XTRANS_DERIVE_NOT_ALLOW 

Cross transport key derivation not allowed.

SMP_MAX_FAIL_RSN_PER_SPEC 

SMP Max Fail Reason as per spec.

SMP_PAIR_INTERNAL_ERR 

Internal error.

SMP_UNKNOWN_IO_CAP 

unknown IO capability, unable to decide associatino model

SMP_INIT_FAIL 

Initialization failed.

SMP_CONFIRM_FAIL 

Confirmation failed.

SMP_BUSY 

Busy.

SMP_ENC_FAIL 

Encryption failed.

SMP_STARTED 

Started.

SMP_RSP_TIMEOUT 

Response timeout.

SMP_FAIL 

Generic failure.

SMP_CONN_TOUT 

Connection timeout.