From ca999716d9ae74fe44a52af4a9b20024084975fd Mon Sep 17 00:00:00 2001 From: Luiz Augusto von Dentz Date: Mon, 28 Oct 2013 14:09:05 +0200 Subject: [PATCH] android/hal-pan: Add implementation of .connect --- android/hal-msg.h | 7 +++++++ android/hal-pan.c | 11 ++++++++--- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/android/hal-msg.h b/android/hal-msg.h index 350cec1d6..65f60dcbe 100644 --- a/android/hal-msg.h +++ b/android/hal-msg.h @@ -302,6 +302,13 @@ struct hal_rsp_pan_get_role { uint8_t local_role; } __attribute__((packed)); +#define HAL_OP_PAN_CONNECT 0x03 +struct hal_cmd_pan_connect { + uint8_t bdaddr[6]; + uint8_t local_role; + uint8_t remote_role; +} __attribute__((packed)); + /* Notifications and confirmations */ diff --git a/android/hal-pan.c b/android/hal-pan.c index c8dcdec75..3e23eb557 100644 --- a/android/hal-pan.c +++ b/android/hal-pan.c @@ -17,6 +17,7 @@ #include #include +#include #include "hal-log.h" #include "hal.h" @@ -67,15 +68,19 @@ static int pan_get_local_role(void) static bt_status_t pan_connect(const bt_bdaddr_t *bd_addr, int local_role, int remote_role) { + struct hal_cmd_pan_connect cmd; + DBG(""); if (!interface_ready()) return BT_STATUS_NOT_READY; - if (!bd_addr) - return BT_STATUS_PARM_INVALID; + memcpy(cmd.bdaddr, bd_addr, sizeof(cmd.bdaddr)); + cmd.local_role = local_role; + cmd.remote_role = remote_role; - return BT_STATUS_UNSUPPORTED; + return hal_ipc_cmd(HAL_SERVICE_ID_PAN, HAL_OP_PAN_CONNECT, + sizeof(cmd), &cmd, 0, NULL, NULL); } static bt_status_t pan_disconnect(const bt_bdaddr_t *bd_addr) -- 2.47.3