Bluetooth: L2CAP: add br l2cap unregister interface
It needs to do l2cap unregister operation from app Signed-off-by: Cheng Kai <chengkai@xiaomi.com>
This commit is contained in:
parent
3adae8bd9a
commit
cf61573ce9
@ -769,6 +769,16 @@ int bt_l2cap_server_register(struct bt_l2cap_server *server);
|
||||
*/
|
||||
int bt_l2cap_br_server_register(struct bt_l2cap_server *server);
|
||||
|
||||
/** @brief Unregister L2CAP server on BR/EDR oriented connection.
|
||||
*
|
||||
* Unregister L2CAP server for a PSM.
|
||||
*
|
||||
* @param server Server structure.
|
||||
*
|
||||
* @return 0 in case of success or negative value in case of error.
|
||||
*/
|
||||
int bt_l2cap_br_server_unregister(struct bt_l2cap_server *server);
|
||||
|
||||
/** @brief Connect Enhanced Credit Based L2CAP channels
|
||||
*
|
||||
* Connect up to 5 L2CAP channels by PSM, once the connection is completed
|
||||
|
||||
@ -3711,6 +3711,14 @@ int bt_l2cap_br_server_register(struct bt_l2cap_server *server)
|
||||
{
|
||||
int err;
|
||||
|
||||
CHECKIF(server == NULL) {
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (sys_slist_find(&br_servers, &server->node, NULL)) {
|
||||
return -EEXIST;
|
||||
}
|
||||
|
||||
if (!server->accept) {
|
||||
return -EINVAL;
|
||||
}
|
||||
@ -3747,6 +3755,21 @@ int bt_l2cap_br_server_register(struct bt_l2cap_server *server)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int bt_l2cap_br_server_unregister(struct bt_l2cap_server *server)
|
||||
{
|
||||
CHECKIF(server == NULL) {
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (!sys_slist_find_and_remove(&br_servers, &server->node)) {
|
||||
return -ENOENT;
|
||||
}
|
||||
|
||||
LOG_DBG("PSM 0x%04x unregistered", server->psm);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void l2cap_br_send_reject(struct bt_conn *conn, uint8_t ident, uint16_t reason, void *data,
|
||||
uint8_t data_len)
|
||||
{
|
||||
|
||||
Loading…
Reference in New Issue
Block a user