* [PATCH 2/5] android: Update IPC headers to match SSP and PIN requests events
2013-10-29 10:07 [PATCH 1/5] android: Define class of device as four bytes in IPC doc Szymon Janc
@ 2013-10-29 10:07 ` Szymon Janc
2013-10-29 10:07 ` [PATCH 3/5] android/hal: Add support for handling bond state change event Szymon Janc
` (2 subsequent siblings)
3 siblings, 0 replies; 6+ messages in thread
From: Szymon Janc @ 2013-10-29 10:07 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Szymon Janc
Name should be 249 bytes so it is always NULL terminated string.
Class of device is send as uint32. This will allow to make simple
passing of data in HAL library without need of copying data.
---
android/hal-msg.h | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/android/hal-msg.h b/android/hal-msg.h
index a4eb2a8..80b47d6 100644
--- a/android/hal-msg.h
+++ b/android/hal-msg.h
@@ -356,15 +356,15 @@ struct hal_ev_discovery_state_changed {
#define HAL_EV_PIN_REQUEST 0x86
struct hal_ev_pin_request {
uint8_t bdaddr[6];
- uint8_t name[249 - 1];
- uint8_t class_of_dev[3];
+ uint8_t name[249];
+ uint32_t class_of_dev;
} __attribute__((packed));
#define HAL_EV_SSP_REQUEST 0x87
struct hal_ev_ssp_request {
uint8_t bdaddr[6];
- uint8_t name[249 - 1];
- uint8_t class_of_dev[3];
+ uint8_t name[249];
+ uint32_t class_of_dev;
uint8_t pairing_variant;
uint32_t passkey;
} __attribute__((packed));
--
1.8.4.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 3/5] android/hal: Add support for handling bond state change event
2013-10-29 10:07 [PATCH 1/5] android: Define class of device as four bytes in IPC doc Szymon Janc
2013-10-29 10:07 ` [PATCH 2/5] android: Update IPC headers to match SSP and PIN requests events Szymon Janc
@ 2013-10-29 10:07 ` Szymon Janc
2013-10-29 10:07 ` [PATCH 4/5] android/hal: Add support for handling pin request event Szymon Janc
2013-10-29 10:07 ` [PATCH 5/5] android/hal: Add support for handling SSP " Szymon Janc
3 siblings, 0 replies; 6+ messages in thread
From: Szymon Janc @ 2013-10-29 10:07 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Szymon Janc
---
android/hal-bluetooth.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/android/hal-bluetooth.c b/android/hal-bluetooth.c
index 5f6dcbe..067f420 100644
--- a/android/hal-bluetooth.c
+++ b/android/hal-bluetooth.c
@@ -68,6 +68,17 @@ static void handle_adapter_props_changed(void *buf, uint16_t len)
bt_hal_cbacks->adapter_properties_cb(ev->status, ev->num_props, props);
}
+static void handle_bond_state_change(void *buf)
+{
+ struct hal_ev_bond_state_changed *ev = buf;
+ bt_bdaddr_t *addr = (bt_bdaddr_t *) ev->bdaddr;
+
+ if (!bt_hal_cbacks->bond_state_changed_cb)
+ return;
+
+ bt_hal_cbacks->bond_state_changed_cb(ev->status, addr, ev->state);
+}
+
void bt_thread_associate(void)
{
if (bt_hal_cbacks->thread_evt_cb)
@@ -98,6 +109,9 @@ void bt_notify_adapter(uint16_t opcode, void *buf, uint16_t len)
case HAL_EV_ADAPTER_PROPS_CHANGED:
handle_adapter_props_changed(buf, len);
break;
+ case HAL_EV_BOND_STATE_CHANGED:
+ handle_bond_state_change(buf);
+ break;
default:
DBG("Unhandled callback opcode=0x%x", opcode);
break;
--
1.8.4.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 4/5] android/hal: Add support for handling pin request event
2013-10-29 10:07 [PATCH 1/5] android: Define class of device as four bytes in IPC doc Szymon Janc
2013-10-29 10:07 ` [PATCH 2/5] android: Update IPC headers to match SSP and PIN requests events Szymon Janc
2013-10-29 10:07 ` [PATCH 3/5] android/hal: Add support for handling bond state change event Szymon Janc
@ 2013-10-29 10:07 ` Szymon Janc
2013-10-29 10:13 ` Szymon Janc
2013-10-29 10:07 ` [PATCH 5/5] android/hal: Add support for handling SSP " Szymon Janc
3 siblings, 1 reply; 6+ messages in thread
From: Szymon Janc @ 2013-10-29 10:07 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Szymon Janc
---
android/hal-bluetooth.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/android/hal-bluetooth.c b/android/hal-bluetooth.c
index 067f420..75dbc68 100644
--- a/android/hal-bluetooth.c
+++ b/android/hal-bluetooth.c
@@ -79,6 +79,17 @@ static void handle_bond_state_change(void *buf)
bt_hal_cbacks->bond_state_changed_cb(ev->status, addr, ev->state);
}
+static void handle_pin_request(void *buf)
+{
+ struct hal_ev_pin_request *ev = buf;
+ bt_bdaddr_t *addr = (bt_bdaddr_t *) ev->bdaddr;
+ bt_bdname_t *name = (bt_bdname_t *) ev->name;
+
+ if (!bt_hal_cbacks->pin_request_cb)
+
+ bt_hal_cbacks->pin_request_cb(addr, name, ev->class_of_dev);
+}
+
void bt_thread_associate(void)
{
if (bt_hal_cbacks->thread_evt_cb)
@@ -112,6 +123,9 @@ void bt_notify_adapter(uint16_t opcode, void *buf, uint16_t len)
case HAL_EV_BOND_STATE_CHANGED:
handle_bond_state_change(buf);
break;
+ case HAL_EV_PIN_REQUEST:
+ handle_pin_request(buf);
+ break;
default:
DBG("Unhandled callback opcode=0x%x", opcode);
break;
--
1.8.4.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 4/5] android/hal: Add support for handling pin request event
2013-10-29 10:07 ` [PATCH 4/5] android/hal: Add support for handling pin request event Szymon Janc
@ 2013-10-29 10:13 ` Szymon Janc
0 siblings, 0 replies; 6+ messages in thread
From: Szymon Janc @ 2013-10-29 10:13 UTC (permalink / raw)
To: linux-bluetooth
On Tuesday 29 of October 2013 11:07:34 Szymon Janc wrote:
> ---
> android/hal-bluetooth.c | 14 ++++++++++++++
> 1 file changed, 14 insertions(+)
>
> diff --git a/android/hal-bluetooth.c b/android/hal-bluetooth.c
> index 067f420..75dbc68 100644
> --- a/android/hal-bluetooth.c
> +++ b/android/hal-bluetooth.c
> @@ -79,6 +79,17 @@ static void handle_bond_state_change(void *buf)
> bt_hal_cbacks->bond_state_changed_cb(ev->status, addr, ev->state);
> }
>
> +static void handle_pin_request(void *buf)
> +{
> + struct hal_ev_pin_request *ev = buf;
> + bt_bdaddr_t *addr = (bt_bdaddr_t *) ev->bdaddr;
> + bt_bdname_t *name = (bt_bdname_t *) ev->name;
> +
> + if (!bt_hal_cbacks->pin_request_cb)
> +
> + bt_hal_cbacks->pin_request_cb(addr, name, ev->class_of_dev);
will send v2 with this fixed.
> +}
> +
> void bt_thread_associate(void)
> {
> if (bt_hal_cbacks->thread_evt_cb)
> @@ -112,6 +123,9 @@ void bt_notify_adapter(uint16_t opcode, void *buf, uint16_t len)
> case HAL_EV_BOND_STATE_CHANGED:
> handle_bond_state_change(buf);
> break;
> + case HAL_EV_PIN_REQUEST:
> + handle_pin_request(buf);
> + break;
> default:
> DBG("Unhandled callback opcode=0x%x", opcode);
> break;
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 5/5] android/hal: Add support for handling SSP request event
2013-10-29 10:07 [PATCH 1/5] android: Define class of device as four bytes in IPC doc Szymon Janc
` (2 preceding siblings ...)
2013-10-29 10:07 ` [PATCH 4/5] android/hal: Add support for handling pin request event Szymon Janc
@ 2013-10-29 10:07 ` Szymon Janc
3 siblings, 0 replies; 6+ messages in thread
From: Szymon Janc @ 2013-10-29 10:07 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Szymon Janc
---
android/hal-bluetooth.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/android/hal-bluetooth.c b/android/hal-bluetooth.c
index 75dbc68..c22de6f 100644
--- a/android/hal-bluetooth.c
+++ b/android/hal-bluetooth.c
@@ -90,6 +90,19 @@ static void handle_pin_request(void *buf)
bt_hal_cbacks->pin_request_cb(addr, name, ev->class_of_dev);
}
+static void handle_ssp_request(void *buf)
+{
+ struct hal_ev_ssp_request *ev = buf;
+ bt_bdaddr_t *addr = (bt_bdaddr_t *) ev->bdaddr;
+ bt_bdname_t *name = (bt_bdname_t *) ev->name;
+
+ if (!bt_hal_cbacks->ssp_request_cb)
+ return;
+
+ bt_hal_cbacks->ssp_request_cb(addr, name, ev->class_of_dev,
+ ev->pairing_variant, ev->passkey);
+}
+
void bt_thread_associate(void)
{
if (bt_hal_cbacks->thread_evt_cb)
@@ -126,6 +139,9 @@ void bt_notify_adapter(uint16_t opcode, void *buf, uint16_t len)
case HAL_EV_PIN_REQUEST:
handle_pin_request(buf);
break;
+ case HAL_EV_SSP_REQUEST:
+ handle_ssp_request(buf);
+ break;
default:
DBG("Unhandled callback opcode=0x%x", opcode);
break;
--
1.8.4.1
^ permalink raw reply related [flat|nested] 6+ messages in thread