Bluetooth Host Stack Library
All Data Structures Functions Variables Typedefs Enumerations Enumerator Modules Pages

General Description

Bluetooth generic security API.

Functions

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_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)
 Pair with peer device(dont store the keys). 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...
 

Function Documentation

◆ wiced_bt_dev_sec_bond()

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.

If the connection is already up, but not secure, pairing is attempted.

Note
PIN parameters are only needed when bonding with legacy devices (pre-2.1 Core Spec)
Parameters
[in]bd_addr: Peer device bd address to pair with.
[in]bd_addr_type: BLE_ADDR_PUBLIC or BLE_ADDR_RANDOM (applies to LE devices only)
[in]transport: BT_TRANSPORT_BR_EDR or BT_TRANSPORT_LE
[in]pin_len: Length of input parameter p_pin (0 if not used).
[in]p_pin: Pointer to Pin Code to use (NULL if not used).
Returns

WICED_BT_PENDING : if successfully initiated,
WICED_BT_SUCCESS : if already paired to the device, else error code

◆ wiced_bt_dev_sec_pair_without_bonding()

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 
)

Pair with peer device(dont store the keys).

If the connection is already up, but not secure, pairing is attempted.

Note
PIN parameters are only needed when bonding with legacy devices (pre-2.1 Core Spec)
Parameters
[in]bd_addr: Peer device bd address to pair with.
[in]bd_addr_type: BLE_ADDR_PUBLIC or BLE_ADDR_RANDOM (applies to LE devices only)
[in]transport: BT_TRANSPORT_BR_EDR or BT_TRANSPORT_LE
[in]pin_len: Length of input parameter p_pin (0 if not used).
[in]p_pin: Pointer to Pin Code to use (NULL if not used).
Returns

WICED_BT_PENDING : if successfully initiated,
WICED_BT_SUCCESS : if already paired to the device, else error code

◆ wiced_bt_dev_sec_bond_cancel()

wiced_result_t wiced_bt_dev_sec_bond_cancel ( wiced_bt_device_address_t  bd_addr)

Cancel an ongoing bonding process with peer device.

Parameters
[in]bd_addr: Peer device bd address to pair with.
Returns

WICED_BT_PENDING : if cancel initiated,
WICED_BT_SUCCESS : if cancel has completed already, else error code.

◆ wiced_bt_dev_set_encryption()

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.

Parameters
[in]bd_addr: Address of peer device
[in]transport: BT_TRANSPORT_BR_EDR or BT_TRANSPORT_LE
[in]p_ref_data: Encryption type wiced_bt_ble_sec_action_type_t
Returns

WICED_BT_SUCCESS : already encrypted
WICED_BT_PENDING : Status is notified using BTM_ENCRYPTION_STATUS_EVT of wiced_bt_management_cback_t.
WICED_BT_WRONG_MODE : connection not up.
WICED_BT_BUSY : security procedures are currently active

◆ wiced_bt_dev_confirm_req_reply()

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)

Parameters
[in]res: result of the operation WICED_BT_SUCCESS if success
[in]bd_addr: Address of the peer device
Returns
void

◆ wiced_bt_dev_send_key_press_notif()

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.

Used during the passkey entry by a device with KeyboardOnly IO capabilities (typically a HID keyboard device).

Parameters
[in]bd_addr: Address of the peer device
[in]type: notification type

◆ wiced_bt_dev_delete_bonded_device()

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

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

◆ wiced_bt_dev_get_security_state()

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.

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