summaryrefslogtreecommitdiff
path: root/android/socket.c
diff options
context:
space:
mode:
authorAndrzej Kaczmarek <andrzej.kaczmarek@tieto.com>2014-02-11 17:58:19 +0100
committerSzymon Janc <szymon.janc@tieto.com>2014-02-12 13:50:49 +0100
commit5b2756dd9b4f8252eb8d00dfc2f26be00cdbf870 (patch)
tree1870f87d2dd7f5992c438d2fa0cd65bcb5df0fa9 /android/socket.c
parent6c411b18321ebebfddba5e12e4a8ea008a277a43 (diff)
downloadbluez-5b2756dd9b4f8252eb8d00dfc2f26be00cdbf870.tar.gz
android/socket: Include HF AG in built-in profiles
This patch adds entry for HF AG profile in built-in profiles list. This it to reserve channel number so it's not assigned to other service registered by application. Method for creating SDP record is not provided so it's not possible for application to register HF AG service by mistake (this can be only done by handsfree profile implementation).
Diffstat (limited to 'android/socket.c')
-rw-r--r--android/socket.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/android/socket.c b/android/socket.c
index 876439bd8..435d9b9fd 100644
--- a/android/socket.c
+++ b/android/socket.c
@@ -49,6 +49,7 @@
#define SPP_DEFAULT_CHANNEL 3
#define OPP_DEFAULT_CHANNEL 9
+#define HFAG_DEFAULT_CHANNEL 13
#define PBAP_DEFAULT_CHANNEL 15
#define MAS_DEFAULT_CHANNEL 16
@@ -375,6 +376,15 @@ static const struct profile_info {
} profiles[] = {
{
.uuid = {
+ 0x00, 0x00, 0x11, 0x1F, 0x00, 0x00, 0x10, 0x00,
+ 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB
+ },
+ .channel = HFAG_DEFAULT_CHANNEL,
+ .svc_hint = 0,
+ .sec_level = BT_IO_SEC_MEDIUM,
+ .create_record = NULL
+ }, {
+ .uuid = {
0x00, 0x00, 0x11, 0x2F, 0x00, 0x00, 0x10, 0x00,
0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB
},
@@ -742,6 +752,9 @@ static uint8_t rfcomm_listen(int chan, const uint8_t *name, const uint8_t *uuid,
if (!profile) {
sec_level = BT_IO_SEC_MEDIUM;
} else {
+ if (!profile->create_record)
+ return HAL_STATUS_INVALID;
+
chan = profile->channel;
sec_level = profile->sec_level;
}