ret_code_t pm_link_status_get(uint16_t conn_handle, pm_link_status_t * p_link_status) { VERIFY_PARAM_NOT_NULL(p_link_status); if (conn_handle == BLE_CONN_HANDLE_INVALID) { return NRF_ERROR_INVALID_PARAM; } // Read the bonded status from the user flag that is maintained by events. p_link_status->bonded = ble_conn_state_user_flag_get(conn_handle, m_pm.bonding_flag_id); // Read the connected, encrypted and mitm status from the connection state module. p_link_status->connected = ble_conn_state_valid(conn_handle); p_link_status->encrypted = ble_conn_state_encrypted(conn_handle); p_link_status->mitm_protected = ble_conn_state_mitm_protected(conn_handle); return NRF_SUCCESS; }
ret_code_t pm_conn_sec_status_get(uint16_t conn_handle, pm_conn_sec_status_t * p_conn_sec_status) { VERIFY_MODULE_INITIALIZED(); VERIFY_PARAM_NOT_NULL(p_conn_sec_status); ble_conn_state_status_t status = ble_conn_state_status(conn_handle); if (status == BLE_CONN_STATUS_INVALID) { return BLE_ERROR_INVALID_CONN_HANDLE; } p_conn_sec_status->connected = (status == BLE_CONN_STATUS_CONNECTED); p_conn_sec_status->bonded = ble_conn_state_user_flag_get(conn_handle, m_bonding_flag_id); p_conn_sec_status->encrypted = ble_conn_state_encrypted(conn_handle); p_conn_sec_status->mitm_protected = ble_conn_state_mitm_protected(conn_handle); return NRF_SUCCESS; }