Infineon Logo AIROC BTSDK v4.9 - 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_dev_vendor_specific_command_complete_params_t
 Structure returned with Vendor Specific Command complete callback. 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_remote_name_result_t
 Structure returned with remote name request. More...
 
struct  wiced_bt_dev_rssi_result_t
 RSSI Result (in response to wiced_bt_dev_read_rssi) More...
 
struct  wiced_bt_dev_switch_role_result_t
 
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_cfm_req_t
 Data for pairing confirmation request (BTM_USER_CONFIRMATION_REQUEST_EVT event data type) 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_dev_user_key_notif_t
 Data for pairing passkey notification (BTM_USER_PASSKEY_NOTIFICATION_EVT event data type) More...
 
struct  wiced_bt_dev_user_keypress_t
 Pairing keypress notification (BTM_USER_KEYPRESS_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_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_dev_bonded_device_info_t
 bonding device information from wiced_bt_dev_get_bonded_devices 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_public_key_t
 Public key. More...
 
struct  wiced_bt_smp_sc_local_oob_t
 
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_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_ble_connection_param_update_t
 LE connection parameter update event related 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_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_REQUEST_EVT) More...
 
struct  wiced_bt_ble_keys_t
 
struct  wiced_bt_device_sec_keys_t
 
struct  __attribute__
 Paired device link key notification (used by BTM_PAIRED_DEVICE_LINK_KEYS_UPDATE_EVT notification) More...
 
union  wiced_bt_management_evt_data_t
 Structure definitions for Bluetooth Management (wiced_bt_management_cback_t) event notifications. More...
 

Macros

#define wiced_set_afh_channel_assessment   BTM_SetAfhChannelAssessment
 
#define wiced_disable_afh_channels   BTM_SetAfhChannels
 
#define BTM_DISCOVERABILITY_MODE
 
#define BTM_DISCOVERABLE_MASK   (BTM_LIMITED_DISCOVERABLE|BTM_GENERAL_DISCOVERABLE)
 
#define BTM_MAX_DISCOVERABLE   BTM_GENERAL_DISCOVERABLE
 
#define BTM_CONNECTABILITY_MODE
 
#define BTM_CONNECTABLE_MASK   (BTM_NON_CONNECTABLE | BTM_CONNECTABLE)
 
#define BTM_INQUIRY_MODE
 
#define BTM_SCAN_TYPE_STANDARD   0
 
#define BTM_SCAN_TYPE_INTERLACED   1
 
#define BTM_INQ_RESULT   0
 
#define BTM_INQ_RESULT_WITH_RSSI   1
 
#define BTM_INQ_RESULT_EXTENDED   2
 
#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_INQUIRY_FILTER
 
#define BTM_INQ_RMT_NAME_EMPTY   0
 
#define BTM_INQ_RMT_NAME_PENDING   1
 
#define BTM_INQ_RMT_NAME_DONE   2
 
#define BTM_INQ_RMT_NAME_FAILED   3
 
#define BTM_EIR_UUID_ENUM
 BTM service definitions (used for storing EIR data to bit mask.
 
#define BTM_EIR_ARRAY_BITS   32 /* Number of bits in each array element */
 
#define BTM_EIR_SERVICE_ARRAY_SIZE
 
#define BTM_SEC_LEVEL
 Security Service Levels [bit mask]. More...
 
#define BTM_SEC_LINK_STATE
 security flags for current BR/EDR link
 
#define BTM_PIN_TYPE_VARIABLE   HCI_PIN_TYPE_VARIABLE
 PIN types.
 
#define BTM_PIN_TYPE_FIXED   HCI_PIN_TYPE_FIXED
 
#define BTM_SECURITY_KEY_DATA_LEN   132
 Size of security keys. More...
 
#define BTM_SECURITY_LOCAL_KEY_DATA_LEN   65
 Local security key data length (used by wiced_bt_local_identity_keys_t structure)
 
#define BTM_BLE_AUTH_REQ_TYPES
 LE Authentication requirement.
 
#define BTM_OOB_STATE
 OOB Data status.
 
#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_OOB_REQ_TYPE
 Type of OOB data required.
 
#define SMP_ERROR_CODES
 SMP Pairing status codes.
 
#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_MANAGEMENT_EVT
 
#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_dev_switch_role   BTM_SwitchRole
 
#define wiced_bt_dev_set_link_supervision_timeout   BTM_SetLinkSuperTout
 
#define wiced_bt_dev_set_link_policy   BTM_SetLinkPolicy
 
#define wiced_bt_set_device_class   BTM_SetDeviceClass
 
#define wiced_bt_set_tx_power   wiced_bt_dev_set_tx_power
 
#define wiced_bt_ble_set_adv_tx_power   wiced_bt_dev_set_adv_tx_power
 
#define wiced_bt_dev_read_tx_power   BTM_ReadTxPower
 
#define wiced_bt_dev_set_default_link_super_tout   BTM_SetDefaultLinkSuperTout
 
#define wiced_bt_dev_register_vse_callback(cb)   BTM_RegisterForVSEvents(cb, 1)
 

Typedefs

typedef wiced_result_t wiced_bt_dev_status_t
 Result/Status for wiced_bt_dev. More...
 
typedef uint8_t wiced_bt_dev_io_cap_t
 IO capabilities (see wiced_bt_dev_io_cap_e)
 
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_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 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_smp_status_t
 SMP Pairing status (see wiced_bt_smp_status_e)
 
typedef uint8_t wiced_bt_sco_type_t
 
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_management_evt_t
 Bluetooth management events (see wiced_bt_management_evt_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)
 Synchronous BTM operation is complete. 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 }
 
enum  wiced_bt_connectability_mode_e { BTM_NON_CONNECTABLE = 0, BTM_CONNECTABLE = 1 }
 
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) }
 
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 }
 
enum  {
  BTM_EIR_UUID_SERVCLASS_SERVICE_DISCOVERY_SERVER, BTM_EIR_UUID_SERVCLASS_SERIAL_PORT, BTM_EIR_UUID_SERVCLASS_LAN_ACCESS_USING_PPP, 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_CORDLESS_TELEPHONY, 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_INTERCOM, BTM_EIR_UUID_SERVCLASS_FAX,
  BTM_EIR_UUID_SERVCLASS_HEADSET_AUDIO_GATEWAY, BTM_EIR_UUID_SERVCLASS_PANU, BTM_EIR_UUID_SERVCLASS_NAP, BTM_EIR_UUID_SERVCLASS_GN,
  BTM_EIR_UUID_SERVCLASS_DIRECT_PRINTING, BTM_EIR_UUID_SERVCLASS_IMAGING, BTM_EIR_UUID_SERVCLASS_IMAGING_RESPONDER, BTM_EIR_UUID_SERVCLASS_IMAGING_AUTO_ARCHIVE,
  BTM_EIR_UUID_SERVCLASS_IMAGING_REF_OBJECTS, BTM_EIR_UUID_SERVCLASS_HF_HANDSFREE, BTM_EIR_UUID_SERVCLASS_AG_HANDSFREE, BTM_EIR_UUID_SERVCLASS_DIR_PRT_REF_OBJ_SERVICE,
  BTM_EIR_UUID_SERVCLASS_BASIC_PRINTING, BTM_EIR_UUID_SERVCLASS_PRINTING_STATUS, BTM_EIR_UUID_SERVCLASS_HUMAN_INTERFACE, BTM_EIR_UUID_SERVCLASS_CABLE_REPLACEMENT,
  BTM_EIR_UUID_SERVCLASS_HCRP_PRINT, BTM_EIR_UUID_SERVCLASS_HCRP_SCAN, 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_VIDEO_SOURCE, BTM_EIR_UUID_SERVCLASS_VIDEO_SINK, 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
}
 
enum  wiced_bt_sec_level_e {
  BTM_SEC_NONE = 0x0000, BTM_SEC_IN_AUTHENTICATE = 0x0002, BTM_SEC_OUT_AUTHENTICATE = 0x0010, BTM_SEC_ENCRYPT = 0x0024,
  BTM_SEC_SECURE_CONNECTION = 0x0040
}
 
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 }
 
enum  wiced_bt_dev_io_cap_e {
  BTM_IO_CAPABILITIES_DISPLAY_ONLY, BTM_IO_CAPABILITIES_DISPLAY_AND_YES_NO_INPUT, BTM_IO_CAPABILITIES_KEYBOARD_ONLY, BTM_IO_CAPABILITIES_NONE,
  BTM_IO_CAPABILITIES_BLE_DISPLAY_AND_KEYBOARD_INPUT, BTM_IO_CAPABILITIES_MAX
}
 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_ONLY = 0x08,
  BTM_LE_AUTH_REQ_SC_BOND = (BTM_LE_AUTH_REQ_SC_ONLY|BTM_LE_AUTH_REQ_BOND), BTM_LE_AUTH_REQ_SC_MITM = (BTM_LE_AUTH_REQ_SC_ONLY|BTM_LE_AUTH_REQ_MITM), BTM_LE_AUTH_REQ_SC_MITM_BOND = (BTM_LE_AUTH_REQ_SC_ONLY|BTM_LE_AUTH_REQ_MITM|BTM_LE_AUTH_REQ_BOND), BTM_LE_AUTH_REQ_MASK = 0x1D
}
 
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
}
 
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_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)
}
 
enum  wiced_bt_ble_scan_type_e { BTM_BLE_SCAN_TYPE_NONE, BTM_BLE_SCAN_TYPE_HIGH_DUTY, BTM_BLE_SCAN_TYPE_LOW_DUTY }
 
enum  wiced_bt_dev_oob_data_req_type_e { BTM_OOB_INVALID_TYPE, BTM_OOB_PEER, BTM_OOB_LOCAL, BTM_OOB_BOTH }
 
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)
}
 
enum  wiced_bt_dev_power_mgmt_status_e {
  WICED_POWER_STATE_ACTIVE = HCI_MODE_ACTIVE, WICED_POWER_STATE_SNIFF = HCI_MODE_SNIFF, WICED_POWER_STATE_SSR = WICED_POWER_STATE_SNIFF + 2, WICED_POWER_STATE_PENDING,
  WICED_POWER_STATE_ERROR, WICED_POWER_STATE_SMART_SNIFF
}
 Power Management status codes. More...
 
enum  wiced_bt_management_evt_e {
  BTM_ENABLED_EVT, BTM_DISABLED_EVT, BTM_POWER_MANAGEMENT_STATUS_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
}
 Bluetooth Management events. 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
}
 
enum  wiced_bt_ble_conn_mode_e { BLE_CONN_MODE_OFF, BLE_CONN_MODE_LOW_DUTY, BLE_CONN_MODE_HIGH_DUTY }
 
enum  { WICED_TRANS_CUSTOM_HCI_MODE, WICED_TRANS_RAW_MODE }
 
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 types. More...
 

Functions

wiced_bt_dev_status_t BTM_SetAfhChannelAssessment (wiced_bool_t enable)
 Function wiced_set_afh_channel_assessment. More...
 
wiced_bt_dev_status_t BTM_SetAfhChannels (uint8_t first, uint8_t last)
 Function wiced_disable_afh_channels. More...
 
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)
 Function wiced_bt_start_inquiry. More...
 
wiced_result_t wiced_bt_cancel_inquiry (void)
 Function wiced_bt_cancel_inquiry. More...
 
wiced_result_t wiced_bt_set_inquiry_mode (uint8_t inq_mode)
 Function wiced_bt_set_inquiry_mode. More...
 
void wiced_bt_dev_read_local_addr (wiced_bt_device_address_t bd_addr)
 Function wiced_bt_dev_read_local_addr. More...
 
wiced_result_t wiced_bt_dev_set_local_name (char *p_name)
 Function wiced_bt_dev_set_local_name. More...
 
wiced_result_t wiced_bt_dev_set_advanced_connection_params (wiced_bt_dev_inquiry_scan_result_t *p_inquiry_scan_result)
 Function wiced_bt_dev_set_advanced_connection_params. 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)
 Function wiced_bt_dev_vendor_specific_command. More...
 
wiced_result_t wiced_bt_dev_set_discoverability (uint8_t inq_mode, uint16_t duration, uint16_t interval)
 Function wiced_bt_dev_set_discoverability. More...
 
wiced_result_t wiced_bt_dev_set_connectability (uint8_t page_mode, uint16_t window, uint16_t interval)
 Function wiced_bt_dev_set_connectability. More...
 
wiced_result_t wiced_bt_dev_set_inquiry_scan_type (uint16_t scan_type)
 Function wiced_bt_dev_set_inquiry_scan_type. More...
 
wiced_result_t wiced_bt_dev_set_page_scan_type (uint16_t scan_type)
 Function wiced_bt_dev_set_page_scan_type. More...
 
wiced_result_t wiced_bt_dev_write_page_timeout (uint16_t timeout)
 Function wiced_bt_dev_write_page_timeout. More...
 
wiced_result_t wiced_bt_dev_set_packet_types (wiced_bt_device_address_t remote_bda, uint16_t pkt_types)
 Function wiced_bt_dev_set_packet_types. More...
 
void wiced_bt_set_pairable_mode (uint8_t allow_pairing, uint8_t connect_only_paired)
 Function wiced_bt_set_pairable_mode. 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)
 Function wiced_bt_dev_register_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)
 Function wiced_bt_dev_set_sniff_mode. More...
 
wiced_result_t wiced_bt_dev_cancel_sniff_mode (wiced_bt_device_address_t remote_bda)
 Function wiced_bt_dev_cancel_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)
 Function wiced_bt_dev_set_sniff_subrating. More...
 
wiced_result_t wiced_bt_get_link_mode (wiced_bt_device_address_t remote_bda, UINT8 *p_mode)
 Function wiced_bt_get_link_mode. 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)
 Function wiced_bt_dev_read_rssi. More...
 
wiced_result_t wiced_bt_dev_write_eir (uint8_t *p_buff, uint16_t len)
 Function wiced_bt_dev_write_eir. 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)
 Gets the Bluetooth Friendly name from the 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)
 Function wiced_bt_dev_pin_code_reply. 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)
 Function wiced_bt_dev_sec_bond. More...
 
wiced_result_t wiced_bt_dev_sec_bond_cancel (wiced_bt_device_address_t bd_addr)
 Function wiced_bt_dev_sec_bond_cancel. 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)
 Function wiced_bt_dev_set_encryption. More...
 
void wiced_bt_dev_confirm_req_reply (wiced_result_t res, wiced_bt_device_address_t bd_addr)
 Function wiced_bt_dev_confirm_req_reply. More...
 
void wiced_bt_dev_pass_key_req_reply (wiced_result_t res, wiced_bt_device_address_t bd_addr, uint32_t passkey)
 Function wiced_bt_dev_pass_key_req_reply. More...
 
void wiced_bt_dev_send_key_press_notif (wiced_bt_device_address_t bd_addr, wiced_bt_dev_passkey_entry_type_t type)
 Function wiced_bt_dev_send_key_press_notif. More...
 
wiced_result_t wiced_bt_dev_read_local_oob_data (void)
 Function wiced_bt_dev_read_local_oob_data. 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)
 Function wiced_bt_dev_remote_oob_data_reply. 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)
 Function wiced_bt_dev_build_oob_data. 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)
 Function wiced_bt_smp_oob_data_reply. 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)
 Function wiced_bt_smp_create_local_sc_oob_data. More...
 
void wiced_bt_smp_sc_oob_reply (uint8_t *p_oob_data)
 Function wiced_bt_smp_sc_oob_reply. More...
 
void wiced_bt_dev_register_hci_trace (wiced_bt_hci_trace_cback_t *p_cback)
 Function wiced_bt_dev_register_hci_trace. More...
 
wiced_result_t wiced_bt_dev_get_bonded_devices (wiced_bt_dev_bonded_device_info_t *p_paired_device_list, uint16_t *p_num_devices)
 Function wiced_bt_dev_get_bonded_devices. More...
 
wiced_result_t wiced_bt_dev_delete_bonded_device (wiced_bt_device_address_t bd_addr)
 Function wiced_bt_dev_delete_bonded_device. More...
 
void wiced_bt_set_local_bdaddr (wiced_bt_device_address_t bda, wiced_bt_ble_address_type_t addr_type)
 Function wiced_bt_set_local_bdaddr. 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)
 Function wiced_bt_dev_get_role. More...
 
wiced_result_t BTM_SwitchRole (wiced_bt_device_address_t remote_bd_addr, uint8_t new_role, wiced_bt_dev_cmpl_cback_t *p_cb)
 Function wiced_bt_dev_switch_role. More...
 
wiced_result_t BTM_SetLinkSuperTout (wiced_bt_device_address_t remote_bd_addr, uint16_t timeout)
 Function wiced_bt_dev_set_link_supervision_timeout. More...
 
wiced_bool_t wiced_bt_dev_get_security_state (wiced_bt_device_address_t bd_addr, uint8_t *p_sec_flags)
 Function wiced_bt_dev_get_security_state. More...
 
wiced_bool_t wiced_delete_key_info_from_ram (wiced_bt_device_address_t bd_addr)
 Function wiced_delete_key_info_from_ram. More...
 
uint16_t wiced_bt_conn_handle_get (wiced_bt_device_address_t remote_bda, wiced_bt_transport_t transport)
 Function wiced_bt_conn_handle_get. More...
 
wiced_result_t wiced_bt_dev_set_link_policy (wiced_bt_device_address_t remote_bda, uint16_t *settings)
 Function wiced_bt_dev_set_link_policy. More...
 
wiced_result_t wiced_bt_set_device_class (wiced_bt_dev_class_t dev_class)
 Function wiced_bt_set_device_class. More...
 
wiced_result_t wiced_bt_set_tx_power (wiced_bt_device_address_t bd_addr, INT8 power)
 Function wiced_bt_set_tx_power. More...
 
wiced_result_t wiced_bt_ble_set_adv_tx_power (INT8 power)
 Function wiced_bt_ble_set_adv_tx_power. More...
 
void wiced_bt_dev_configure_secure_connections_only_mode (void)
 Function wiced_bt_dev_configure_secure_connections_only_mode. 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)
 Function wiced_bt_dev_read_tx_power. More...
 
void wiced_bt_dev_set_default_link_super_tout (uint16_t timeout)
 Function wiced_bt_dev_set_default_link_super_tout. More...
 
uint8_t BTM_RegisterForVSEvents (wiced_bt_dev_vse_callback_t *p_cb, BOOLEAN is_register)
 
wiced_bool_t wiced_bt_connect (wiced_bt_device_address_t remote_bd_addr)
 Function wiced_bt_dev_register_vse_callback. More...
 
wiced_bool_t wiced_bt_start_authentication (wiced_bt_device_address_t bdaddr, uint16_t hci_handle)
 
wiced_bool_t wiced_bt_start_encryption (wiced_bt_device_address_t bdaddr)
 
void wiced_bt_dev_lrac_disable_secure_connection (void)
 

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

#define BTM_EIR_SERVICE_ARRAY_SIZE
Value:
(((uint32_t)BTM_EIR_MAX_SERVICES / BTM_EIR_ARRAY_BITS) + \
(((uint32_t)BTM_EIR_MAX_SERVICES % BTM_EIR_ARRAY_BITS) ? 1 : 0))
#define BTM_LINK_TYPE_SCO   HCI_LINK_TYPE_SCO

SCO link type.

Link type SCO

#define BTM_SEC_LEVEL

Security Service Levels [bit mask].

Encryption should not be used without authentication.

#define BTM_SECURITY_KEY_DATA_LEN   132

Size of security keys.

Security key data length (used by wiced_bt_device_link_keys_t structure)

Typedef Documentation

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
[in]is_connected: TRUE if connected
[in]handle: Connection handle
[in]transport: BT_TRANSPORT_BR_EDR or BT_TRANSPORT_LE
[in]reason: In disconnection case disconnect reason
Returns
void
typedef void( wiced_bt_dev_cmpl_cback_t)(void *p_data)

Synchronous BTM operation is complete.

Parameters
p_data: Operation dependent data
Returns
Nothing

Result/Status for wiced_bt_dev.

Result/Status for wiced_bt_dev

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
Nothing
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
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
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 data
Returns
Nothing
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
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
Nothing

Enumeration Type Documentation

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)

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

Enumerator
BTM_BLE_SCAN_TYPE_NONE 

Stop scanning.

BTM_BLE_SCAN_TYPE_HIGH_DUTY 

High duty cycle scan.

BTM_BLE_SCAN_TYPE_LOW_DUTY 

Low duty cycle scan.

Enumerator
BTM_NON_CONNECTABLE 

Not connectable.

BTM_CONNECTABLE 

BR/EDR connectable.

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

Enumerator
BTM_CLR_INQUIRY_FILTER 

No inquiry filter.

BTM_FILTER_COND_DEVICE_CLASS 

Filter on device class.

BTM_FILTER_COND_BD_ADDR 

Filter on device addr.

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)

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_ONLY 

LE Secure Connection, no MITM, no Bonding.

BTM_LE_AUTH_REQ_SC_BOND 

LE Secure Connection, no MITM, Bonding.

BTM_LE_AUTH_REQ_SC_MITM 

LE Secure Connection, MITM, no Bonding.

BTM_LE_AUTH_REQ_SC_MITM_BOND 

LE Secure Connection, MITM, Bonding.

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_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

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.

Enumerator
BTM_OOB_PEER 

Peer OOB data requested.

BTM_OOB_LOCAL 

Local OOB data requested.

BTM_OOB_BOTH 

Both local and peer OOB data requested.

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

Power Management status codes.

Enumerator
WICED_POWER_STATE_ACTIVE 

Active.

WICED_POWER_STATE_SNIFF 

Sniff.

WICED_POWER_STATE_SSR 

Sniff subrating notification.

WICED_POWER_STATE_PENDING 

Pending (waiting for status from controller)

WICED_POWER_STATE_ERROR 

Error (controller returned error)

WICED_POWER_STATE_SMART_SNIFF 

Smart Sniff.

Enumerator
BTM_NON_DISCOVERABLE 

Non discoverable.

BTM_LIMITED_DISCOVERABLE 

Limited BR/EDR discoverable.

BTM_GENERAL_DISCOVERABLE 

General BR/EDR discoverable.

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.

Enumerator
BTM_INQUIRY_NONE 

Stop inquiry.

BTM_GENERAL_INQUIRY 

General inquiry.

BTM_LIMITED_INQUIRY 

Limited inquiry.

Bluetooth Management events.

Enumerator
BTM_ENABLED_EVT 

Bluetooth controller and host stack enabled.

Event data: wiced_bt_dev_enabled_t

BTM_DISABLED_EVT 

Bluetooth controller and host stack disabled.

Event data: NULL

BTM_POWER_MANAGEMENT_STATUS_EVT 

Power management status change.

Event data: wiced_bt_power_mgmt_notification_t

BTM_PIN_REQUEST_EVT 

PIN request (used only with legacy devices).

Event data: wiced_bt_dev_name_and_class_t

BTM_USER_CONFIRMATION_REQUEST_EVT 

received USER_CONFIRMATION_REQUEST event (respond using wiced_bt_dev_confirm_req_reply).

Event data: wiced_bt_dev_user_cfm_req_t

BTM_PASSKEY_NOTIFICATION_EVT 

received USER_PASSKEY_NOTIFY event.

Event data: wiced_bt_dev_user_key_notif_t

BTM_PASSKEY_REQUEST_EVT 

received USER_PASSKEY_REQUEST event (respond using wiced_bt_dev_pass_key_req_reply).

Event data: wiced_bt_dev_user_key_req_t

BTM_KEYPRESS_NOTIFICATION_EVT 

received KEYPRESS_NOTIFY event.

Event data: wiced_bt_dev_user_keypress_t

BTM_PAIRING_IO_CAPABILITIES_BR_EDR_REQUEST_EVT 

Requesting IO capabilities for BR/EDR pairing.

Event data: wiced_bt_dev_bredr_io_caps_req_t

BTM_PAIRING_IO_CAPABILITIES_BR_EDR_RESPONSE_EVT 

Received IO capabilities response for BR/EDR pairing.

Event data: wiced_bt_dev_bredr_io_caps_rsp_t

BTM_PAIRING_IO_CAPABILITIES_BLE_REQUEST_EVT 

Requesting IO capabilities for LE pairing.

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

BTM_PAIRING_COMPLETE_EVT 

received SIMPLE_PAIRING_COMPLETE event.

Event data: wiced_bt_dev_pairing_cplt_t

BTM_ENCRYPTION_STATUS_EVT 

Encryption status change.

Event data: wiced_bt_dev_encryption_status_t

BTM_SECURITY_REQUEST_EVT 

Security request (respond using wiced_bt_ble_security_grant).

Event data: wiced_bt_dev_security_request_t

BTM_SECURITY_FAILED_EVT 

Security procedure/authentication failed.

Event data: wiced_bt_dev_security_failed_t

BTM_SECURITY_ABORTED_EVT 

Security procedure aborted locally, or unexpected link drop.

Event data: wiced_bt_dev_name_and_class_t

BTM_READ_LOCAL_OOB_DATA_COMPLETE_EVT 

Result of reading local OOB data (wiced_bt_dev_read_local_oob_data).

Event data: wiced_bt_dev_local_oob_t

BTM_REMOTE_OOB_DATA_REQUEST_EVT 

OOB data from remote device (respond using wiced_bt_dev_remote_oob_data_reply).

Event data: wiced_bt_dev_remote_oob_t

BTM_PAIRED_DEVICE_LINK_KEYS_UPDATE_EVT 

Updated remote device link keys (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_device_link_keys_t

BTM_PAIRED_DEVICE_LINK_KEYS_REQUEST_EVT 

Request for stored remote device link keys (restore device_link_keys from NV memory).

If successful, return WICED_BT_SUCCESS. Event data: #wiced_bt_device_link_keys_t

BTM_LOCAL_IDENTITY_KEYS_UPDATE_EVT 

Update local identity key (stored local_identity_keys NV memory).

Event data: wiced_bt_local_identity_keys_t

BTM_LOCAL_IDENTITY_KEYS_REQUEST_EVT 

Request local identity key (get local_identity_keys from NV memory).

If successful, return WICED_BT_SUCCESS. Event data: wiced_bt_local_identity_keys_t

BTM_BLE_SCAN_STATE_CHANGED_EVT 

LE scan state change.

Event data: wiced_bt_ble_scan_type_t

BTM_BLE_ADVERT_STATE_CHANGED_EVT 

LE advertisement state change.

Event data: wiced_bt_ble_advert_mode_t

BTM_SMP_REMOTE_OOB_DATA_REQUEST_EVT 

SMP remote oob data request.

Reply using wiced_bt_smp_oob_data_reply. Event data: wiced_bt_smp_remote_oob_req_t

BTM_SMP_SC_REMOTE_OOB_DATA_REQUEST_EVT 

LE secure connection remote oob data request.

Reply using wiced_bt_smp_sc_oob_reply. Event data: wiced_bt_smp_sc_remote_oob_req_t

BTM_SMP_SC_LOCAL_OOB_DATA_NOTIFICATION_EVT 

LE secure connection local OOB data (wiced_bt_smp_create_local_sc_oob_data).

Event data: wiced_bt_smp_sc_local_oob_t

BTM_SCO_CONNECTED_EVT 

SCO connected event.

Event data: wiced_bt_sco_connected_t

BTM_SCO_DISCONNECTED_EVT 

SCO disconnected event.

Event data: wiced_bt_sco_disconnected_t

BTM_SCO_CONNECTION_REQUEST_EVT 

SCO connection request event.

Event data: wiced_bt_sco_connection_request_t

BTM_SCO_CONNECTION_CHANGE_EVT 

SCO connection change event.

Event data: wiced_bt_sco_connection_change_t

BTM_BLE_CONNECTION_PARAM_UPDATE 

LE connection parameter update.

Event data: wiced_bt_ble_connection_param_update_t

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.

Enumerator
BTM_SEC_NONE 

Nothing required.

BTM_SEC_IN_AUTHENTICATE 

Inbound call requires authentication.

BTM_SEC_OUT_AUTHENTICATE 

Outbound call requires authentication.

BTM_SEC_ENCRYPT 

Requires encryption (inbound and outbound)

BTM_SEC_SECURE_CONNECTION 

Secure Connections Mode (P-256 based Secure Simple Pairing and Authentication)

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_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.

Function Documentation

wiced_bt_dev_status_t BTM_SetAfhChannelAssessment ( wiced_bool_t  enable)

Function wiced_set_afh_channel_assessment.

This function is called to set the channel assessment mode on or off

Parameters
[in]enable: enable or disable
Returns
TRUE if successful
wiced_bt_dev_status_t BTM_SetAfhChannels ( uint8_t  first,
uint8_t  last 
)

Function wiced_disable_afh_channels.

This function is called to disable channels for adaptive frequency hopping

Parameters
[in]first: first channel to disable
[in]last: last channel to disable
Returns
TRUE if successful
wiced_result_t BTM_SetLinkSuperTout ( wiced_bt_device_address_t  remote_bd_addr,
uint16_t  timeout 
)

Function wiced_bt_dev_set_link_supervision_timeout.

set Link Supervision Timeout

Parameters
[in]remote_bd_addr: BD address of remote device
[in]timeout:
Returns
WICED_BT_PENDING if successfully initiated, otherwise error.
wiced_result_t BTM_SwitchRole ( wiced_bt_device_address_t  remote_bd_addr,
uint8_t  new_role,
wiced_bt_dev_cmpl_cback_t p_cb 
)

Function wiced_bt_dev_switch_role.

This function is called to switch the role between central and peripheral. If role is already set it will do nothing. If the command was initiated, the callback function is called upon completion.

Parameters
[in]remote_bd_addr: BD address of remote device
[in]new_role: New role (BTM_ROLE_CENTRAL or BTM_ROLE_PERIPHERAL)
[in]p_cback: Result callback (wiced_bt_dev_switch_role_result_t will be passed to the callback)
Returns
wiced_result_t WICED_BT_SUCCESS if already in specified role. WICED_BT_CMD_STARTED if command issued to controller. WICED_BT_NO_RESOURCES if couldn't allocate memory to issue command WICED_BT_UNKNOWN_ADDR if no active link with bd addr specified WICED_BT_MODE_UNSUPPORTED if local device doesn't support role switching
wiced_result_t wiced_bt_ble_set_adv_tx_power ( INT8  power)

Function wiced_bt_ble_set_adv_tx_power.

Command to set LE Advertisement tx power

Parameters
[in]power: power value in db
Returns
wiced_result_t
uint16_t wiced_bt_conn_handle_get ( wiced_bt_device_address_t  remote_bda,
wiced_bt_transport_t  transport 
)

Function wiced_bt_conn_handle_get.

Get the connection handle

Parameters
[in]remote_bda: remote device's address
[in]transport: BT_TRANSPORT_BR_EDR or BT_TRANSPORT_LE
Returns
connection handle value 0xffff for invalid
wiced_bool_t wiced_bt_connect ( wiced_bt_device_address_t  remote_bd_addr)

Function wiced_bt_dev_register_vse_callback.

Description Application can register Vendor-Specific HCI event callback

Parameters
[in]cb: callback function to register
Returns
WICED_SUCCESS WICED_ERROR if out of usage
void wiced_bt_dev_configure_secure_connections_only_mode ( void  )

Function wiced_bt_dev_configure_secure_connections_only_mode.

Configure device to allow connections only with secure connections supported devices

Note
API must be called only once after BTM_ENABLED_EVT event received, before starting bluetooth activity
Returns
void
wiced_result_t wiced_bt_dev_delete_bonded_device ( wiced_bt_device_address_t  bd_addr)

Function wiced_bt_dev_delete_bonded_device.

remove bonding with remote device with assigned bd_addr

Parameters
[in]bd_addr: bd_addr of remote device to be removed from bonding list
Returns
wiced_result_t

Note BD_Address must be in Big Endian format

wiced_result_t wiced_bt_dev_get_bonded_devices ( wiced_bt_dev_bonded_device_info_t p_paired_device_list,
uint16_t *  p_num_devices 
)

Function wiced_bt_dev_get_bonded_devices.

get bonded device list

Parameters
[out]p_paired_device_list: array for getting bd address of bonded devices
in/out]p_num_devices : list size of p_pared_device_list total number of bonded devices stored
Returns
wiced_result_t
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 
)

Function wiced_bt_dev_get_role.

This function is called to get the role of the local device for the ACL connection with the specified remote device

Parameters
[in]remote_bd_addr: BD address of remote device
[in]transport: BT_TRANSPORT_BR_EDR or BT_TRANSPORT_LE
[out]p_role: Role of the local device
Returns
WICED_BT_UNKNOWN_ADDR if no active link with bd addr specified

Note BD_Address must be in Big Endian format

wiced_bool_t wiced_bt_dev_get_security_state ( wiced_bt_device_address_t  bd_addr,
uint8_t *  p_sec_flags 
)

Function wiced_bt_dev_get_security_state.

Get security flags for the device

Parameters
[in]bd_addr: peer address
[out]p_sec_flags: security flags (see wiced_bt_sec_flags_e)
Returns
TRUE if successful

Note BD_Address must be in Big Endian format

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 
)

Function wiced_bt_dev_read_tx_power.

Read the transmit power for the requested link

Parameters
[in]remote_bda: BD address of connection to read tx power
[in]transport: Transport type
[in]p_cback: Result callback (wiced_bt_tx_power_result_t will be passed to the callback)
Returns
             WICED_BT_PENDING if command issued to controller.
             WICED_BT_NO_RESOURCES if couldn't allocate memory to issue command
             WICED_BT_UNKNOWN_ADDR if no active link with bd addr specified
             WICED_BT_BUSY if command is already in progress
void wiced_bt_dev_register_hci_trace ( wiced_bt_hci_trace_cback_t p_cback)

Function wiced_bt_dev_register_hci_trace.

Register to get the hci traces

Parameters
[in]p_cback: Callback for hci traces
Returns
void
void wiced_bt_dev_set_default_link_super_tout ( uint16_t  timeout)

Function wiced_bt_dev_set_default_link_super_tout.

Set the default value for HCI "Write Link Supervision Timeout" command to use when an ACL link is created.

Parameters
[in]timeout: Supervision timeout (multiple of 10ms in the range of 100ms and 32.0s)
Returns
void
wiced_result_t wiced_bt_dev_set_link_policy ( wiced_bt_device_address_t  remote_bda,
uint16_t *  settings 
)

Function wiced_bt_dev_set_link_policy.

This function is called to set the Link Policy for remote device

Parameters
[in]remote_bda: remote device's address
in/out]settings : pointer to the settings value. the policy setting is defined in hcidefs.h if the input setting consists of unsupport feature for local device, it will be cleared
Returns
wiced_result_t
wiced_result_t wiced_bt_set_device_class ( wiced_bt_dev_class_t  dev_class)

Function wiced_bt_set_device_class.

This function is called to set the local device class

Parameters
[in]dev_class: local device class
Returns
wiced_result_t
void wiced_bt_set_local_bdaddr ( wiced_bt_device_address_t  bda,
wiced_bt_ble_address_type_t  addr_type 
)

Function wiced_bt_set_local_bdaddr.

Set Local Bluetooth Device Address. If application passes BLE_ADDR_RANDOM as an address type, the stack will setup a static random address. For the static random address top two bits of the bd_addr should be set. The stack will enforce that.

Parameters
[in]bd_addr: device address to use
[in]addr_type: device address type, should be BLE_ADDR_RANDOM or BLE_ADDR_PUBLIC BLE_ADDR_RANDOM should be used only for LE Only mode, not for BR-EDR or Dual Mode
Returns
void
wiced_result_t wiced_bt_set_tx_power ( wiced_bt_device_address_t  bd_addr,
INT8  power 
)

Function wiced_bt_set_tx_power.

Command to set the tx power on link

Parameters
[in]bd_addr: peer address
[in]power: power value in db (min:-24 max:4)
Returns
wiced_result_t
wiced_bool_t wiced_delete_key_info_from_ram ( wiced_bt_device_address_t  bd_addr)

Function wiced_delete_key_info_from_ram.

Remove link key information from internal Security Records. NOTE: This API does not remove key info if device is in connected state (it would return FALSE), hence existing connections should be disconnected before invoking this API

Parameters
[in]bd_addr: peer address
Returns
TRUE if successful

Note BD_Address must be in Big Endian format