Infineon Logo AIROC BTSDK v4.2 - Documentation
 
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
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) 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_dev_local_addr_ext_t
 Structure for local address extendend API. More...
 
struct  wiced_bt_dev_cod_cond_t
 Class of Device inquiry filter. More...
 
union  wiced_bt_dev_inq_filt_cond_t
 Inquiry filter. More...
 
struct  wiced_bt_dev_inq_parms_t
 Inquiry Parameters. More...
 
struct  wiced_bt_dev_inquiry_scan_result_t
 Inquiry Results. More...
 
struct  wiced_bt_dev_rssi_result_t
 RSSI Result (in response to wiced_bt_dev_read_rssi) More...
 
struct  wiced_bt_dev_remote_name_result_t
 Structure returned with remote name request. More...
 
struct  wiced_bt_dev_switch_role_result_t
 Structure returned with switch role request. 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_dev_bredr_io_caps_rsp_t
 Data type for IO capabalities response (BTM_PAIRING_IO_CAPABILITIES_BR_EDR_RESPONSE_EVT) More...
 
struct  wiced_bt_dev_user_key_req_t
 Pairing user passkey request (BTM_USER_PASSKEY_REQUEST_EVT event data type) More...
 
struct  wiced_bt_smp_sc_peer_oob_data_t
 Data associated with the information received from the peer via OOB interface. More...
 
struct  wiced_bt_smp_sc_oob_data_t
 Data for wiced_bt_smp_sc_oob_reply. More...
 
struct  wiced_bt_sco_connected_t
 SCO connected event related data. More...
 
struct  wiced_bt_sco_disconnected_t
 SCO disconnected event related data. More...
 
struct  wiced_bt_sco_connection_request_t
 SCO connect request event related data. More...
 
struct  wiced_bt_sco_connection_change_t
 SCO connection change event related data. 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_phy_update_t
 LE Physical link 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_s
 Paired device LE Keys. More...
 
struct  wiced_bt_device_sec_keys_s
 Paired Device Link key data. More...
 
struct  wiced_bt_device_link_keys_s
 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  edr_packet_types_s
 EDR packets statistics types details. More...
 
union  wiced_bt_br_edr_pkt_type_stats_s
 BR/EDR packet types detail statistics. More...
 
struct  wiced_bt_lq_br_edr_stats_s
 BR/EDR link statistics. More...
 
struct  wiced_bt_lq_le_stats_s
 LE link statistics. More...
 
struct  wiced_bt_lq_stats_result_s
 LQ Quality Result (in response to wiced_bt_dev_lq_stats) 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)
 
#define BTM_SCAN_PARAM_IGNORE   0
 Passed to BTM_SetScanConfig() to ignore.
 
#define BTM_DEFAULT_DISC_WINDOW   0x0012
 Default Discovery Window (in 0.625 msec intervals)
 
#define BTM_DEFAULT_DISC_INTERVAL   0x0800
 Default Discovery Interval (in 0.625 msec intervals)
 
#define BTM_DEFAULT_CONN_WINDOW   0x0012
 Default Connection Window.
 
#define BTM_DEFAULT_CONN_INTERVAL   0x0800
 Default Connection Interval.
 
#define BTM_DISCOVERABLE_MASK   (BTM_LIMITED_DISCOVERABLE|BTM_GENERAL_DISCOVERABLE)
 Discoverable Mask.
 
#define BTM_MAX_DISCOVERABLE   BTM_GENERAL_DISCOVERABLE
 Max Value for Discoverable.
 
#define BTM_CONNECTABLE_MASK   (BTM_NON_CONNECTABLE | BTM_CONNECTABLE)
 Connectable Mask.
 
#define BTM_SCAN_TYPE_STANDARD   0
 Standard Scan Type : Device listens for the duration of the scan window.
 
#define BTM_SCAN_TYPE_INTERLACED   1
 Interlaces Scan Type : Device performed two back to back scans.
 
#define BTM_INQ_RESULT   0
 Inquiry results.
 
#define BTM_INQ_RESULT_WITH_RSSI   1
 Inquiry results with RSSI.
 
#define BTM_INQ_RESULT_EXTENDED   2
 Extended Inquiry results.
 
#define BTM_PIN_TYPE_VARIABLE   HCI_PIN_TYPE_VARIABLE
 Variable Pin Type.
 
#define BTM_PIN_TYPE_FIXED   HCI_PIN_TYPE_FIXED
 Fix Length Pin Type.
 
#define BTM_SECURITY_KEY_DATA_LEN   132
 Security key data length (used by wiced_bt_device_link_keys_t structure)
 
#define BTM_SECURITY_LOCAL_KEY_DATA_LEN   65
 Local security key data length (used by wiced_bt_local_identity_keys_t structure)
 
#define BTM_OOB_STATE
 OOB Data status.
 
#define BTM_LINK_TYPE_SCO   HCI_LINK_TYPE_SCO
 SCO link type. More...
 
#define BTM_LINK_TYPE_ESCO   HCI_LINK_TYPE_ESCO
 Link type eSCO.
 
#define BTM_OOB_REQ_TYPE
 Type of OOB data required.
 
#define BTM_LE_KEY_TYPES
 LE Key type.
 
#define BTM_BLE_SCAN_TYPE
 Scan duty cycle (used for BTM_BLE_SCAN_STATE_CHANGED_EVT and wiced_bt_dev_create_connection)
 
#define BTM_BLE_KEY_TYPE_ID   1
 Identity resolving key.
 
#define BTM_BLE_KEY_TYPE_ER   2
 Encryption root key.
 
#define BTM_PM_STATUS_CODES
 Power Management status codes.
 
#define WICED_POWER_STATE_ACTIVE   BTM_PM_STS_ACTIVE
 Power Management state. More...
 
#define WICED_POWER_STATE_SNIFF   BTM_PM_STS_SNIFF
 Sniff.
 
#define WICED_POWER_STATE_SSR   BTM_PM_STS_SSR
 Sniff subrating notification.
 
#define WICED_POWER_STATE_PENDING   BTM_PM_STS_PENDING
 Pending (waiting for status from controller)
 
#define WICED_POWER_STATE_ERROR   BTM_PM_STS_ERROR
 Error (controller returned error)
 
#define BTM_AFH_CHNL_MAP_SIZE   HCI_AFH_CHANNEL_MAP_LEN
 Channel Map Length.
 
#define BTM_MANAGEMENT_EVT
 Bluetooth Management event.
 
#define BTM_BLE_ADVERT_MODE
 advertisement type (used when calling wiced_bt_start_advertisements)
 
#define BTM_BLE_CONN_MODE
 scan mode used in initiating
 
#define wiced_bt_connect(remote_bd_addr)   wiced_bt_utils_acl_connect(remote_bd_addr)
 
#define wiced_bt_start_authentication(bdaddr, hci_handle)   wiced_bt_utils_acl_start_authentication(bdaddr, hci_handle)
 
#define wiced_bt_start_encryption(bdaddr)   wiced_bt_utils_acl_start_encryption(bdaddr)
 
#define wiced_bt_conn_handle_get(remote_bda, transport)   wiced_bt_utils_acl_conn_handle_get(remote_bda, transport)
 

Typedefs

typedef wiced_result_t wiced_bt_dev_status_t
 Result/Status.
 
typedef uint8_t wiced_bt_dev_io_cap_t
 IO capabilities.
 
typedef uint8_t wiced_bt_dev_auth_req_t
 BR/EDR authentication requirement (see wiced_bt_dev_auth_req_e)
 
typedef uint8_t wiced_bt_dev_le_auth_req_t
 LE authentication requirement (see wiced_bt_dev_le_auth_req_e)
 
typedef uint8_t wiced_bt_dev_oob_data_t
 OOB data (see wiced_bt_dev_oob_data_e)
 
typedef uint8_t wiced_bt_dev_passkey_entry_type_t
 Bluetooth pairing keypress value (see wiced_bt_dev_passkey_entry_type_e)
 
typedef uint8_t wiced_bt_sco_type_t
 SCO link type.
 
typedef uint8_t wiced_bt_dev_oob_data_req_type_t
 OOB data type requested (see wiced_bt_dev_oob_data_req_type_t)
 
typedef uint8_t wiced_bt_dev_le_key_type_t
 LE key type (see wiced_bt_dev_le_key_type_e)
 
typedef uint8_t wiced_bt_ble_scan_type_t
 scan type (see wiced_bt_ble_scan_type_e)
 
typedef uint8_t wiced_bt_smp_status_t
 SMP Pairing status (see wiced_bt_smp_status_e)
 
typedef uint8_t wiced_bt_dev_power_mgmt_status_t
 Power management status (see wiced_bt_dev_power_mgmt_status_e)
 
typedef uint8_t wiced_bt_br_chnl_map_t [BTM_AFH_CHNL_MAP_SIZE]
 Array of Channel Map Length.
 
typedef uint8_t wiced_bt_management_evt_t
 Bluetooth management events (see wiced_bt_management_evt_e)
 
typedef struct wiced_bt_ble_keys_s wiced_bt_ble_keys_t
 Paired device LE Keys.
 
typedef struct
wiced_bt_device_sec_keys_s 
wiced_bt_device_sec_keys_t
 Paired Device Link key data.
 
typedef struct
wiced_bt_device_link_keys_s 
wiced_bt_device_link_keys_t
 Paired device link key notification (used by BTM_PAIRED_DEVICE_LINK_KEYS_UPDATE_EVT notication)
 
typedef struct edr_packet_types_s wiced_bt_device_edr_packet_types_t
 EDR packets statistics types details.
 
typedef union
wiced_bt_br_edr_pkt_type_stats_s 
wiced_bt_br_edr_pkt_type_stats
 BR/EDR packet types detail statistics.
 
typedef struct
wiced_bt_lq_br_edr_stats_s 
wiced_bt_lq_br_edr_stats
 BR/EDR link statistics.
 
typedef struct
wiced_bt_lq_le_stats_s 
wiced_bt_lq_le_stats
 LE link statistics.
 
typedef struct
wiced_bt_lq_stats_result_s 
wiced_bt_lq_stats_result_t
 LQ Quality Result (in response to wiced_bt_dev_lq_stats)
 
typedef uint8_t wiced_bt_link_quality_stats_param_t
 Link Quality Statistic Action (see wiced_bt_dev_link_quality_stats_param_e)
 
typedef uint16_t wiced_bt_link_policy_settings_t [1]
 Link Policy Settings type (see wiced_bt_link_policy_settings_values_e)
 
typedef uint8_t wiced_bt_ble_advert_mode_t
 Advertisement type (see wiced_bt_ble_advert_mode_e)
 
typedef uint8_t wiced_bt_ble_conn_mode_t
 Conn mode (see wiced_bt_ble_conn_mode_e)
 
typedef wiced_result_twiced_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_discoverability_mode_e { BTM_NON_DISCOVERABLE = 0, BTM_LIMITED_DISCOVERABLE = 1, BTM_GENERAL_DISCOVERABLE = 2 }
 BR-EDR Discoverable modes. More...
 
enum  wiced_bt_connectability_mode_e { BTM_NON_CONNECTABLE = 0, BTM_CONNECTABLE = 1 }
 BR/EDR Connectable modes. More...
 
enum  wiced_bt_inquiry_mode_e { BTM_INQUIRY_NONE = 0, BTM_GENERAL_INQUIRY = 0x01, BTM_LIMITED_INQUIRY = 0x02, BTM_BR_INQUIRY_MASK = (BTM_GENERAL_INQUIRY | BTM_LIMITED_INQUIRY) }
 Inquiry modes. More...
 
enum  wiced_bt_dev_filter_cond_e { BTM_CLR_INQUIRY_FILTER = 0, BTM_FILTER_COND_DEVICE_CLASS = HCI_FILTER_COND_DEVICE_CLASS, BTM_FILTER_COND_BD_ADDR = HCI_FILTER_COND_BD_ADDR }
 Inquiry Filter Condition types (see wiced_bt_dev_inq_parms_t) More...
 
enum  {
  BTM_EIR_UUID_SERVCLASS_SERIAL_PORT, BTM_EIR_UUID_SERVCLASS_DIALUP_NETWORKING, BTM_EIR_UUID_SERVCLASS_IRMC_SYNC, BTM_EIR_UUID_SERVCLASS_OBEX_OBJECT_PUSH,
  BTM_EIR_UUID_SERVCLASS_OBEX_FILE_TRANSFER, BTM_EIR_UUID_SERVCLASS_IRMC_SYNC_COMMAND, BTM_EIR_UUID_SERVCLASS_HEADSET, BTM_EIR_UUID_SERVCLASS_AUDIO_SOURCE,
  BTM_EIR_UUID_SERVCLASS_AUDIO_SINK, BTM_EIR_UUID_SERVCLASS_AV_REM_CTRL_TARGET, BTM_EIR_UUID_SERVCLASS_AV_REMOTE_CONTROL, BTM_EIR_UUID_SERVCLASS_HEADSET_AUDIO_GATEWAY,
  BTM_EIR_UUID_SERVCLASS_DIRECT_PRINTING, BTM_EIR_UUID_SERVCLASS_HF_HANDSFREE, BTM_EIR_UUID_SERVCLASS_AG_HANDSFREE, BTM_EIR_UUID_SERVCLASS_HUMAN_INTERFACE,
  BTM_EIR_UUID_SERVCLASS_SAP, BTM_EIR_UUID_SERVCLASS_PBAP_PCE, BTM_EIR_UUID_SERVCLASS_PBAP_PSE, BTM_EIR_UUID_SERVCLASS_PHONE_ACCESS,
  BTM_EIR_UUID_SERVCLASS_HEADSET_HS, BTM_EIR_UUID_SERVCLASS_PNP_INFORMATION, BTM_EIR_UUID_SERVCLASS_MESSAGE_ACCESS, BTM_EIR_UUID_SERVCLASS_MESSAGE_NOTIFICATION,
  BTM_EIR_UUID_SERVCLASS_HDP_SOURCE, BTM_EIR_UUID_SERVCLASS_HDP_SINK, BTM_EIR_MAX_SERVICES
}
 BTM service definitions (used for storing EIR data to bit mask refer eir_uuid_mask in wiced_bt_dev_inquiry_scan_result_t) More...
 
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
}
 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

wiced_result_t wiced_bt_start_inquiry (wiced_bt_dev_inq_parms_t *p_inqparms, wiced_bt_inquiry_result_cback_t *p_inquiry_result_cback)
 Begin BR/EDR inquiry for peer devices. More...
 
wiced_result_t wiced_bt_cancel_inquiry (void)
 Cancel inquiry. More...
 
void wiced_bt_dev_read_local_addr (wiced_bt_device_address_t bd_addr)
 Read the local device address. More...
 
void wiced_bt_dev_read_local_addr_ext (wiced_bt_dev_local_addr_ext_t *data)
 Read the extended local device address information. More...
 
wiced_result_t wiced_bt_dev_set_advanced_connection_params (wiced_bt_dev_inquiry_scan_result_t *p_inquiry_scan_result)
 Set advanced connection parameters for subsequent BR/EDR connections (remote clock offset, page scan mode, and other information obtained during inquiry) More...
 
wiced_result_t wiced_bt_dev_vendor_specific_command (uint16_t opcode, uint8_t param_len, uint8_t *p_param_buf, wiced_bt_dev_vendor_specific_command_complete_cback_t *p_cback)
 Send a vendor specific HCI command to the controller. More...
 
wiced_result_t wiced_bt_dev_set_discoverability (uint8_t inq_mode, uint16_t duration, uint16_t interval)
 Set discoverability. More...
 
wiced_result_t wiced_bt_dev_set_connectability (uint8_t page_mode, uint16_t window, uint16_t interval)
 Set connectablilty. More...
 
wiced_result_t wiced_bt_dev_register_connection_status_change (wiced_bt_connection_status_change_cback_t *p_wiced_bt_connection_status_change_cback)
 Register callback for connection status change. More...
 
wiced_result_t wiced_bt_dev_set_sniff_mode (wiced_bt_device_address_t remote_bda, uint16_t min_period, uint16_t max_period, uint16_t attempt, uint16_t timeout)
 Set a connection into sniff mode. More...
 
wiced_result_t wiced_bt_dev_cancel_sniff_mode (wiced_bt_device_address_t remote_bda)
 Take a connection out of sniff mode. More...
 
wiced_result_t wiced_bt_dev_set_sniff_subrating (wiced_bt_device_address_t remote_bda, uint16_t max_latency, uint16_t min_remote_timeout, uint16_t min_local_timeout)
 Set sniff subrating parameters for an active connection. More...
 
wiced_result_t wiced_bt_dev_read_rssi (wiced_bt_device_address_t remote_bda, wiced_bt_transport_t transport, wiced_bt_dev_cmpl_cback_t *p_cback)
 Get Receive Signal Strenth Index (RSSI) for the requested link. More...
 
wiced_result_t wiced_bt_dev_write_eir (uint8_t *p_buff, uint16_t len)
 Write EIR data to controller. More...
 
wiced_result_t wiced_bt_dev_switch_role (wiced_bt_device_address_t remote_bd_addr, uint8_t new_role, wiced_bt_dev_cmpl_cback_t *p_cback)
 This function is called to switch the role between Central and Peripheral. More...
 
wiced_bt_dev_status_t wiced_bt_dev_set_afh_channel_classification (const wiced_bt_br_chnl_map_t afh_channel_map)
 This function is called to send HCI_SET_AFH_CHANNELS command to BR/EDR controller. More...
 
wiced_result_t wiced_bt_dev_get_remote_name (wiced_bt_device_address_t bd_addr, wiced_bt_remote_name_cback_t *p_remote_name_result_cback)
 Get Bluetooth Friendly name from remote device. More...
 
wiced_result_t wiced_bt_dev_set_link_policy (wiced_bt_device_address_t remote_bda, wiced_bt_link_policy_settings_t settings)
 This function is called to set the Link Policy for remote device. More...
 
wiced_result_t wiced_bt_coex_enable (uint32_t seci_baud_rate)
 Application can invoke this function to enable the coex functionality. More...
 
void wiced_bt_coex_disable (void)
 Application can invoke this function to disable the coex functionality. More...
 
wiced_result_t wiced_bt_dev_set_afh_channel_assessment (wiced_bool_t enable_or_disable)
 This function is called to set the channel assessment mode on or off. More...
 
wiced_bt_dev_status_t wiced_bt_sco_setPacketTypes (int16_t sco_inx, uint16_t pkt_types)
 This function is called to set the packet types used for a specific SCO connection and for all connections. More...
 
wiced_result_t wiced_bt_dev_setAclPacketTypes (wiced_bt_device_address_t remote_bda, uint16_t pkt_types)
 This function is set the ACL packet types that the device supports for specific connection and all connections if bd address with all zeros. More...
 
wiced_bool_t wiced_bt_utils_acl_connect (wiced_bt_device_address_t remote_bd_addr)
 This function is used to connect with remote device. More...
 
void wiced_bt_dev_pin_code_reply (wiced_bt_device_address_t bd_addr, wiced_result_t res, uint8_t pin_len, uint8_t *p_pin)
 PIN code reply (use in response to BTM_PIN_REQUEST_EVT in wiced_bt_management_cback_t) More...
 
void wiced_bt_dev_pass_key_req_reply (wiced_result_t res, wiced_bt_device_address_t bd_addr, uint32_t passkey)
 Provide the pairing passkey (in response to BTM_PASSKEY_REQUEST_EVT of wiced_bt_management_cback_t) More...
 
wiced_result_t wiced_bt_dev_read_local_oob_data (void)
 Read the local OOB data from controller (for sending to peer device over oob message). More...
 
void wiced_bt_dev_remote_oob_data_reply (wiced_result_t res, wiced_bt_device_address_t bd_addr, wiced_bool_t is_extended_oob_data, BT_OCTET16 c_192, BT_OCTET16 r_192, BT_OCTET16 c_256, BT_OCTET16 r_256)
 Provide the remote OOB extended data for Simple Pairing in response to BTM_REMOTE_OOB_DATA_REQUEST_EVT. More...
 
uint16_t wiced_bt_dev_build_oob_data (uint8_t *p_data, uint16_t max_len, wiced_bool_t is_extended_oob_data, BT_OCTET16 c_192, BT_OCTET16 r_192, BT_OCTET16 c_256, BT_OCTET16 r_256)
 Build the OOB data block to be used to send OOB extended data over OOB (non-Bluetooth) link. More...
 
void wiced_bt_smp_oob_data_reply (wiced_bt_device_address_t bd_addr, wiced_result_t res, uint8_t len, uint8_t *p_data)
 This function is called to provide the OOB data for SMP in response to BTM_SMP_REMOTE_OOB_DATA_REQUEST_EVT. More...
 
wiced_bool_t wiced_bt_smp_create_local_sc_oob_data (wiced_bt_device_address_t bd_addr, wiced_bt_ble_address_type_t bd_addr_type)
 Create local LE SC (secure connection) OOB data. More...
 
void wiced_bt_smp_sc_oob_reply (wiced_bt_smp_sc_oob_data_t *p_oob_data)
 Provide the SC OOB data for SMP in response to BTM_SMP_SC_REMOTE_OOB_DATA_REQUEST_EVT. More...
 
uint8_t * wiced_bt_dev_read_oob_data (uint8_t *p_data, uint8_t eir_tag, uint8_t *p_len)
 This function is called to parse the OOB data payload received over OOB (non-Bluetooth) link. More...
 
void wiced_bt_dev_lrac_disable_secure_connection (void)
 Disable Bluetooth secure connection. More...
 
wiced_bool_t wiced_bt_utils_acl_start_authentication (wiced_bt_device_address_t bdaddr, uint16_t hci_handle)
 Start the authentication process with remote device. More...
 
wiced_bool_t wiced_bt_utils_acl_start_encryption (wiced_bt_device_address_t bdaddr)
 Start the encryption process with remote device. More...
 
void wiced_bt_dev_register_hci_trace (wiced_bt_hci_trace_cback_t *p_cback)
 Register to get the hci traces. More...
 
void wiced_bt_dev_update_hci_trace_mode (wiced_bool_t enable)
 Update the hci 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)
 Set Local Bluetooth Device Address. More...
 
wiced_result_t wiced_bt_dev_get_role (wiced_bt_device_address_t remote_bd_addr, uint8_t *p_role, wiced_bt_transport_t transport)
 This function is called to get the role of the local device for the ACL connection with the specified remote device. 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 tx power on link This command will adjust the transmit power attenuation on a per connection basis. 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)
 Read the transmit power for the requested link. More...
 
void wiced_bt_set_pairable_mode (uint8_t allow_pairing, uint8_t connect_only_paired)
 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. 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. 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...
 
uint16_t wiced_bt_utils_acl_conn_handle_get (wiced_bt_device_address_t remote_bda, wiced_bt_transport_t transport)
 Get the connection handle. 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)
 Bond with peer device. More...
 
wiced_result_t wiced_bt_dev_sec_bond_cancel (wiced_bt_device_address_t bd_addr)
 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)
 Encrypt the specified connection. More...
 
void wiced_bt_dev_confirm_req_reply (wiced_result_t res, wiced_bt_device_address_t bd_addr)
 Confirm the numeric value for pairing (in response to BTM_USER_CONFIRMATION_REQUEST_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)
 Inform remote device of keypress during pairing. More...
 
wiced_result_t wiced_bt_dev_delete_bonded_device (wiced_bt_device_address_t bd_addr)
 remove bonding with remote device with assigned bd_addr Note: This API cannot be used while being connected to the remote bd_addr More...
 
wiced_bool_t wiced_bt_dev_get_security_state (wiced_bt_device_address_t bd_addr, uint8_t *p_sec_flags)
 Get security flags for the device. 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)
 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)
 add link key information to internal address resolution db More...
 
wiced_result_t wiced_bt_dev_remove_device_from_address_resolution_db (wiced_bt_device_link_keys_t *p_link_keys)
 remove link key information from internal address resolution db More...
 
void wiced_bt_dev_set_no_smp_on_br (wiced_bool_t disable)
 Enable or disable smp over br. 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.