diff options
author | Sharvil Nanavati <sharvil@google.com> | 2014-10-14 18:46:32 -0700 |
---|---|---|
committer | Andre Eisenbach <eisenbach@google.com> | 2015-03-16 16:51:39 -0700 |
commit | 9f995d261c8ff0d281f5c25b283e0800bb2d59dd (patch) | |
tree | b694dac2b925477604f0b2747c686cf5c140f9d8 /stack | |
parent | 79ecab5d0418fde77e9afcdd451bd713af73e180 (diff) | |
download | android_system_bt-9f995d261c8ff0d281f5c25b283e0800bb2d59dd.tar.gz android_system_bt-9f995d261c8ff0d281f5c25b283e0800bb2d59dd.tar.bz2 android_system_bt-9f995d261c8ff0d281f5c25b283e0800bb2d59dd.zip |
L2CAP: expose a function to return the RCID and ACL handle for a given LCID.
Diffstat (limited to 'stack')
-rw-r--r-- | stack/include/l2c_api.h | 8 | ||||
-rw-r--r-- | stack/l2cap/l2c_api.c | 13 |
2 files changed, 21 insertions, 0 deletions
diff --git a/stack/include/l2c_api.h b/stack/include/l2c_api.h index f2b8b3b0c..1aa90b302 100644 --- a/stack/include/l2c_api.h +++ b/stack/include/l2c_api.h @@ -24,6 +24,8 @@ #ifndef L2C_API_H #define L2C_API_H +#include <stdbool.h> + #include "bt_target.h" #include "l2cdefs.h" #include "hcidefs.h" @@ -515,6 +517,12 @@ extern BOOLEAN L2CA_Ping (BD_ADDR p_bd_addr, tL2CA_ECHO_RSP_CB *p_cb); *******************************************************************************/ extern BOOLEAN L2CA_Echo (BD_ADDR p_bd_addr, BT_HDR *p_data, tL2CA_ECHO_DATA_CB *p_callback); +// Given a local channel identifier, |lcid|, this function returns the bound remote +// channel identifier, |rcid|, and the ACL link handle, |handle|. If |lcid| is not +// known or is invalid, this function returns false and does not modify the values +// pointed at by |rcid| and |handle|. |rcid| and |handle| may be NULL. +bool L2CA_GetIdentifiers(uint16_t lcid, uint16_t *rcid, uint16_t *handle); + /******************************************************************************* ** ** Function L2CA_SetIdleTimeout diff --git a/stack/l2cap/l2c_api.c b/stack/l2cap/l2c_api.c index 36f42f56c..7b6da3321 100644 --- a/stack/l2cap/l2c_api.c +++ b/stack/l2cap/l2c_api.c @@ -710,6 +710,19 @@ BOOLEAN L2CA_Echo (BD_ADDR p_bd_addr, BT_HDR *p_data, tL2CA_ECHO_DATA_CB *p_cal } +bool L2CA_GetIdentifiers(uint16_t lcid, uint16_t *rcid, uint16_t *handle) { + tL2C_CCB *control_block = l2cu_find_ccb_by_cid(NULL, lcid); + if (!control_block) + return false; + + if (rcid) + *rcid = control_block->remote_cid; + if (handle) + *handle = control_block->p_lcb->handle; + + return true; +} + /******************************************************************************* ** ** Function L2CA_SetIdleTimeout |