* [PATCH v2 10/15] android: Add missing SSP Variant definitions to IPC document
From: Szymon Janc @ 2013-10-25 10:50 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Szymon Janc
In-Reply-To: <1382698211-9123-1-git-send-email-szymon.janc@tieto.com>
Those are used to specify SSP association model.
---
android/hal-ipc-api.txt | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/android/hal-ipc-api.txt b/android/hal-ipc-api.txt
index a5437c1..0c2fd25 100644
--- a/android/hal-ipc-api.txt
+++ b/android/hal-ipc-api.txt
@@ -281,6 +281,11 @@ Commands and responses:
Passkey (4 octets)
Response parameters: <none>
+ Valid SSP variant values: 0x00 = Passkey Confirmation
+ 0x01 = Passkey Entry
+ 0x02 = Consent (for Just Works)
+ 0x03 = Passkey Notification
+
In case of an error, the error response will be returned.
Opcode 0x12 - DUT Mode Configure command/response
--
1.8.4.1
^ permalink raw reply related
* [PATCH v2 09/15] android/hal: Add support for sending adapter PIN reply command
From: Szymon Janc @ 2013-10-25 10:50 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Szymon Janc
In-Reply-To: <1382698211-9123-1-git-send-email-szymon.janc@tieto.com>
This allows HAL to reply to PIN code request.
---
android/hal-bluetooth.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/android/hal-bluetooth.c b/android/hal-bluetooth.c
index ca443a6..6835db3 100644
--- a/android/hal-bluetooth.c
+++ b/android/hal-bluetooth.c
@@ -321,12 +321,20 @@ static int remove_bond(const bt_bdaddr_t *bd_addr)
static int pin_reply(const bt_bdaddr_t *bd_addr, uint8_t accept,
uint8_t pin_len, bt_pin_code_t *pin_code)
{
+ struct hal_cmd_pin_reply cmd;
+
DBG("");
if (!interface_ready())
return BT_STATUS_NOT_READY;
- return BT_STATUS_UNSUPPORTED;
+ memcpy(cmd.bdaddr, bd_addr, sizeof(cmd.bdaddr));
+ cmd.accept = accept;
+ cmd.pin_len = pin_len;
+ memcpy(cmd.pin_code, pin_code, sizeof(cmd.pin_code));
+
+ return hal_ipc_cmd(HAL_SERVICE_ID_BLUETOOTH, HAL_OP_PIN_REPLY,
+ sizeof(cmd), &cmd, 0, NULL, NULL);
}
static int ssp_reply(const bt_bdaddr_t *bd_addr, bt_ssp_variant_t variant,
--
1.8.4.1
^ permalink raw reply related
* [PATCH v2 08/15] android/hal: Add support for sending adapter remove bond command
From: Szymon Janc @ 2013-10-25 10:50 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Szymon Janc
In-Reply-To: <1382698211-9123-1-git-send-email-szymon.janc@tieto.com>
This allows HAL to remove bonding.
---
android/hal-bluetooth.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/android/hal-bluetooth.c b/android/hal-bluetooth.c
index ebaa877..ca443a6 100644
--- a/android/hal-bluetooth.c
+++ b/android/hal-bluetooth.c
@@ -305,12 +305,17 @@ static int cancel_bond(const bt_bdaddr_t *bd_addr)
static int remove_bond(const bt_bdaddr_t *bd_addr)
{
+ struct hal_cmd_remove_bond cmd;
+
DBG("");
if (!interface_ready())
return BT_STATUS_NOT_READY;
- return BT_STATUS_UNSUPPORTED;
+ memcpy(cmd.bdaddr, bd_addr, sizeof(cmd.bdaddr));
+
+ return hal_ipc_cmd(HAL_SERVICE_ID_BLUETOOTH, HAL_OP_REMOVE_BOND,
+ sizeof(cmd), &cmd, 0, NULL, NULL);
}
static int pin_reply(const bt_bdaddr_t *bd_addr, uint8_t accept,
--
1.8.4.1
^ permalink raw reply related
* [PATCH v2 07/15] android/hal: Add support for sending cancel bond command
From: Szymon Janc @ 2013-10-25 10:50 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Szymon Janc
In-Reply-To: <1382698211-9123-1-git-send-email-szymon.janc@tieto.com>
This allows HAL to cancel pending bonding.
---
android/hal-bluetooth.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/android/hal-bluetooth.c b/android/hal-bluetooth.c
index 6f7ef45..ebaa877 100644
--- a/android/hal-bluetooth.c
+++ b/android/hal-bluetooth.c
@@ -290,12 +290,17 @@ static int create_bond(const bt_bdaddr_t *bd_addr)
static int cancel_bond(const bt_bdaddr_t *bd_addr)
{
+ struct hal_cmd_cancel_bond cmd;
+
DBG("");
if (!interface_ready())
return BT_STATUS_NOT_READY;
- return BT_STATUS_UNSUPPORTED;
+ memcpy(cmd.bdaddr, bd_addr, sizeof(cmd.bdaddr));
+
+ return hal_ipc_cmd(HAL_SERVICE_ID_BLUETOOTH, HAL_OP_CANCEL_BOND,
+ sizeof(cmd), &cmd, 0, NULL, NULL);
}
static int remove_bond(const bt_bdaddr_t *bd_addr)
--
1.8.4.1
^ permalink raw reply related
* [PATCH v2 06/15] android/hal: Add support for sending create bond command
From: Szymon Janc @ 2013-10-25 10:50 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Szymon Janc
In-Reply-To: <1382698211-9123-1-git-send-email-szymon.janc@tieto.com>
This allows HAL to start bonding.
---
android/hal-bluetooth.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/android/hal-bluetooth.c b/android/hal-bluetooth.c
index b81f8dd..6f7ef45 100644
--- a/android/hal-bluetooth.c
+++ b/android/hal-bluetooth.c
@@ -275,15 +275,17 @@ static int cancel_discovery(void)
static int create_bond(const bt_bdaddr_t *bd_addr)
{
+ struct hal_cmd_create_bond 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));
- return BT_STATUS_UNSUPPORTED;
+ return hal_ipc_cmd(HAL_SERVICE_ID_BLUETOOTH, HAL_OP_CREATE_BOND,
+ sizeof(cmd), &cmd, 0, NULL, NULL);
}
static int cancel_bond(const bt_bdaddr_t *bd_addr)
--
1.8.4.1
^ permalink raw reply related
* [PATCH v2 05/15] android/hal: Add support for sending adapter get properties command
From: Szymon Janc @ 2013-10-25 10:50 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Szymon Janc
In-Reply-To: <1382698211-9123-1-git-send-email-szymon.janc@tieto.com>
This allows HAL to get all adapter properties.
---
android/hal-bluetooth.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/android/hal-bluetooth.c b/android/hal-bluetooth.c
index a71de83..b81f8dd 100644
--- a/android/hal-bluetooth.c
+++ b/android/hal-bluetooth.c
@@ -138,7 +138,8 @@ static int get_adapter_properties(void)
if (!interface_ready())
return BT_STATUS_NOT_READY;
- return BT_STATUS_UNSUPPORTED;
+ return hal_ipc_cmd(HAL_SERVICE_ID_BLUETOOTH, HAL_OP_GET_ADAPTER_PROPS,
+ 0, NULL, 0, NULL, NULL);
}
static int get_adapter_property(bt_property_type_t type)
--
1.8.4.1
^ permalink raw reply related
* [PATCH v2 04/15] android/hal: Add support for sending adapter get property command
From: Szymon Janc @ 2013-10-25 10:50 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Szymon Janc
In-Reply-To: <1382698211-9123-1-git-send-email-szymon.janc@tieto.com>
This allows HAL to get adapter property.
---
android/hal-bluetooth.c | 23 ++++++++++++++++++++++-
1 file changed, 22 insertions(+), 1 deletion(-)
diff --git a/android/hal-bluetooth.c b/android/hal-bluetooth.c
index aae6078..a71de83 100644
--- a/android/hal-bluetooth.c
+++ b/android/hal-bluetooth.c
@@ -143,12 +143,33 @@ static int get_adapter_properties(void)
static int get_adapter_property(bt_property_type_t type)
{
+ struct hal_cmd_get_adapter_prop cmd;
+
DBG("");
if (!interface_ready())
return BT_STATUS_NOT_READY;
- return BT_STATUS_UNSUPPORTED;
+ switch (type) {
+ case BT_PROPERTY_BDNAME:
+ case BT_PROPERTY_BDADDR:
+ case BT_PROPERTY_UUIDS:
+ case BT_PROPERTY_CLASS_OF_DEVICE:
+ case BT_PROPERTY_TYPE_OF_DEVICE:
+ case BT_PROPERTY_SERVICE_RECORD:
+ case BT_PROPERTY_ADAPTER_SCAN_MODE:
+ case BT_PROPERTY_ADAPTER_BONDED_DEVICES:
+ case BT_PROPERTY_ADAPTER_DISCOVERY_TIMEOUT:
+ break;
+ default:
+ return BT_STATUS_PARM_INVALID;
+ }
+
+ /* type match IPC type */
+ cmd.type = type;
+
+ return hal_ipc_cmd(HAL_SERVICE_ID_BLUETOOTH, HAL_OP_GET_ADAPTER_PROP,
+ sizeof(cmd), &cmd, 0, NULL, NULL);
}
static int set_adapter_property(const bt_property_t *property)
--
1.8.4.1
^ permalink raw reply related
* [PATCH v2 03/15] android/hal: Add support for sending adapter set property command
From: Szymon Janc @ 2013-10-25 10:49 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Szymon Janc
In-Reply-To: <1382698211-9123-1-git-send-email-szymon.janc@tieto.com>
This allows HAL to set adapter property.
---
android/hal-bluetooth.c | 19 +++++++++++++++++--
1 file changed, 17 insertions(+), 2 deletions(-)
diff --git a/android/hal-bluetooth.c b/android/hal-bluetooth.c
index 6e28c91..aae6078 100644
--- a/android/hal-bluetooth.c
+++ b/android/hal-bluetooth.c
@@ -153,15 +153,30 @@ static int get_adapter_property(bt_property_type_t type)
static int set_adapter_property(const bt_property_t *property)
{
+ char buf[sizeof(struct hal_cmd_set_adapter_prop) + property->len];
+ struct hal_cmd_set_adapter_prop *cmd = (void *) buf;
+
DBG("");
if (!interface_ready())
return BT_STATUS_NOT_READY;
- if (property == NULL)
+ switch (property->type) {
+ case BT_PROPERTY_BDNAME:
+ case BT_PROPERTY_ADAPTER_SCAN_MODE:
+ case BT_PROPERTY_ADAPTER_DISCOVERY_TIMEOUT:
+ break;
+ default:
return BT_STATUS_PARM_INVALID;
+ }
- return BT_STATUS_UNSUPPORTED;
+ /* type match IPC type */
+ cmd->type = property->type;
+ cmd->len = property->len;
+ memcpy(cmd->val, property->val, property->len);
+
+ return hal_ipc_cmd(HAL_SERVICE_ID_BLUETOOTH, HAL_OP_SET_ADAPTER_PROP,
+ sizeof(buf), cmd, 0, NULL, NULL);
}
static int get_remote_device_properties(bt_bdaddr_t *remote_addr)
--
1.8.4.1
^ permalink raw reply related
* [PATCH v2 02/15] android: Add properties defines to hal-msg.h
From: Szymon Janc @ 2013-10-25 10:49 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Szymon Janc
In-Reply-To: <1382698211-9123-1-git-send-email-szymon.janc@tieto.com>
Android HAL defines some properties as adapter specific, some as
device specific and some as common. We split those to separate
adapter and device properties hence overlaping or holes in codes.
---
android/hal-msg.h | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/android/hal-msg.h b/android/hal-msg.h
index 854e9b8..352a64c 100644
--- a/android/hal-msg.h
+++ b/android/hal-msg.h
@@ -91,6 +91,27 @@ struct hal_cmd_get_adapter_prop {
uint8_t type;
} __attribute__((packed));
+#define HAL_PROP_ADAPTER_NAME 0x01
+#define HAL_PROP_ADAPTER_ADDR 0x02
+#define HAL_PROP_ADAPTER_UUIDS 0x03
+#define HAL_PROP_ADAPTER_CLASS 0x04
+#define HAL_PROP_ADAPTER_TYPE 0x05
+#define HAL_PROP_ADAPTER_SERVICE_REC 0x06
+#define HAL_PROP_ADAPTER_SCAN_MODE 0x07
+#define HAL_PROP_ADAPTER_BONDED_DEVICES 0x08
+#define HAL_PROP_ADAPTER_DISC_TIMEOUT 0x09
+
+#define HAL_PROP_DEVICE_NAME 0x01
+#define HAL_PROP_DEVICE_ADDR 0x02
+#define HAL_PROP_DEVICE_UUIDS 0x03
+#define HAL_PROP_DEVICE_CLASS 0x04
+#define HAL_PROP_DEVICE_TYPE 0x05
+#define HAL_PROP_DEVICE_SERVICE_REC 0x06
+#define HAL_PROP_DEVICE_FRIENDLY_NAME 0x0a
+#define HAL_PROP_DEVICE_RSSI 0x0b
+#define HAL_PROP_DEVICE_VERSION_INFO 0x0c
+#define HAL_PROP_DEVICE_TIMESTAMP 0xFF
+
#define HAL_OP_SET_ADAPTER_PROP 0x05
struct hal_cmd_set_adapter_prop {
uint8_t type;
--
1.8.4.1
^ permalink raw reply related
* [PATCH v2 01/15] android: Remove not needed local variable in connect_hal
From: Szymon Janc @ 2013-10-25 10:49 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Szymon Janc
err variable was set but never read.
---
android/main.c | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/android/main.c b/android/main.c
index 50b5901..18dc9f7 100644
--- a/android/main.c
+++ b/android/main.c
@@ -239,12 +239,12 @@ static GIOChannel *connect_hal(GIOFunc connect_cb)
struct sockaddr_un addr;
GIOCondition cond;
GIOChannel *io;
- int err, sk;
+ int sk;
sk = socket(PF_LOCAL, SOCK_SEQPACKET, 0);
if (sk < 0) {
- err = errno;
- error("Failed to create socket: %d (%s)", err, strerror(err));
+ error("Failed to create socket: %d (%s)", errno,
+ strerror(errno));
return NULL;
}
@@ -258,9 +258,7 @@ static GIOChannel *connect_hal(GIOFunc connect_cb)
memcpy(addr.sun_path, BLUEZ_HAL_SK_PATH, sizeof(BLUEZ_HAL_SK_PATH));
- err = connect(sk, (struct sockaddr *) &addr, sizeof(addr));
- if (err < 0) {
- err = -errno;
+ if (connect(sk, (struct sockaddr *) &addr, sizeof(addr)) < 0) {
error("Failed to connect HAL socket: %d (%s)", errno,
strerror(errno));
g_io_channel_unref(io);
--
1.8.4.1
^ permalink raw reply related
* Re: [PATCH 1/2] android/client: Add source command to haltest
From: Luiz Augusto von Dentz @ 2013-10-25 10:36 UTC (permalink / raw)
To: Jerzy Kasenberg; +Cc: linux-bluetooth@vger.kernel.org
In-Reply-To: <1382618807-14605-2-git-send-email-jerzy.kasenberg@tieto.com>
Hi Jerzy,
On Thu, Oct 24, 2013 at 3:46 PM, Jerzy Kasenberg
<jerzy.kasenberg@tieto.com> wrote:
> New command allows to read script file into tool and
> execute its contents as if it was typed.
> ---
> android/client/haltest.c | 50 +++++++++++++++++++++++++++++++++++++++++++++-
> 1 file changed, 49 insertions(+), 1 deletion(-)
>
> diff --git a/android/client/haltest.c b/android/client/haltest.c
> index 189af0b..efed16e 100644
> --- a/android/client/haltest.c
> +++ b/android/client/haltest.c
> @@ -157,11 +157,47 @@ static void quit_p(int argc, const char **argv)
> exit(0);
> }
>
> +static int fd_stack[10];
> +static int fd_stack_pointer = 0;
> +
> +static void stdin_handler(struct pollfd *pollfd);
> +
> +static void process_file(const char *name)
> +{
> + int fd = open(name, O_RDONLY);
> +
> + if (fd == -1) {
> + haltest_error("Can't open file: %s for reading\n", name);
> + return;
> + }
Usually for int returns we check errors with < 0, so please change the
code above to follow this practice.
--
Luiz Augusto von Dentz
^ permalink raw reply
* Re: [PATCH] android/client: Fix incorrect casts of addresses
From: Luiz Augusto von Dentz @ 2013-10-25 10:34 UTC (permalink / raw)
To: Andrei Emeltchenko, Jerzy Kasenberg,
linux-bluetooth@vger.kernel.org
In-Reply-To: <20131025100821.GD6113@aemeltch-MOBL1>
Hi Jerzy,
On Fri, Oct 25, 2013 at 1:08 PM, Andrei Emeltchenko
<andrei.emeltchenko.news@gmail.com> wrote:
> Hi Jerzy,
>
> On Fri, Oct 25, 2013 at 11:50:22AM +0200, Jerzy Kasenberg wrote:
>> Hi Andrei,
>>
>> On 25 October 2013 11:32, Andrei Emeltchenko
>> <andrei.emeltchenko.news@gmail.com> wrote:
>> > Hi Jerzy,
>> >
>> > On Fri, Oct 25, 2013 at 10:51:10AM +0200, Jerzy Kasenberg wrote:
>> >> This fixes printing of addresses.
>> >> If char is set to be signed (as it should) some addresses were
>> >> printed with leading FFFFFF.
>> >> ---
>> >> This issue did not showed up before due to unsigned char for Android build
>> >> on Qualcomm platform.
>> >>
>> >> android/client/textconv.c | 4 ++--
>> >> 1 file changed, 2 insertions(+), 2 deletions(-)
>> >>
>> >> diff --git a/android/client/textconv.c b/android/client/textconv.c
>> >> index 1188477..bcdf4d9 100644
>> >> --- a/android/client/textconv.c
>> >> +++ b/android/client/textconv.c
>> >> @@ -137,7 +137,7 @@ int int2str_findstr(const char *str, const struct int2str m[])
>> >> */
>> >> char *bt_bdaddr_t2str(const bt_bdaddr_t *bd_addr, char *buf)
>> >> {
>> >> - const char *p = (const char *) bd_addr;
>> >> + const uint8_t *p = bd_addr->address;
>> >>
>> >> snprintf(buf, MAX_ADDR_STR_LEN, "%02x:%02x:%02x:%02x:%02x:%02x",
>> >> p[0], p[1], p[2], p[3], p[4], p[5]);
>> >
>> > is this correct order btw?
>>
>> Tool print same address for my mouse as I see printed on the mouse so
>> I guess it's correct.
>
> OK, those are addresses sent through HAL, they are in different format.
>
> Best regards
> Andrei Emeltchenko
>
>>
>> >
>> > Best regards
>> > Andrei Emeltchenko
>> >
>> >> @@ -148,7 +148,7 @@ char *bt_bdaddr_t2str(const bt_bdaddr_t *bd_addr, char *buf)
>> >> /* converts string to bt_bdaddr_t */
>> >> void str2bt_bdaddr_t(const char *str, bt_bdaddr_t *bd_addr)
>> >> {
>> >> - char *p = (char *) bd_addr;
>> >> + uint8_t *p = bd_addr->address;
>> >>
>> >> sscanf(str, "%02hhx:%02hhx:%02hhx:%02hhx:%02hhx:%02hhx",
>> >> &p[0], &p[1], &p[2], &p[3], &p[4], &p[5]);
>> >> --
>> >> 1.7.9.5
>> >>
>> >> --
>> >> To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
>> >> the body of a message to majordomo@vger.kernel.org
>> >> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>
>> --
>> Best regards
>> Jerzy
> --
Applied, please rebase since I had done a code style fix since
str2bt_bdaddr_t was mixing spaces with tabs.
--
Luiz Augusto von Dentz
^ permalink raw reply
* Re: [PATCH 06/15] android/hal: Add support for sending create bond command
From: Luiz Augusto von Dentz @ 2013-10-25 10:15 UTC (permalink / raw)
To: Andrei Emeltchenko, Szymon Janc, linux-bluetooth@vger.kernel.org
In-Reply-To: <20131025093616.GC6113@aemeltch-MOBL1>
Hi,
On Fri, Oct 25, 2013 at 12:36 PM, Andrei Emeltchenko
<andrei.emeltchenko.news@gmail.com> wrote:
> Hi Szymon,
>
> On Fri, Oct 25, 2013 at 10:56:09AM +0200, Szymon Janc wrote:
>> This allows HAL to start bonding.
>> ---
>> android/hal-bluetooth.c | 8 +++++---
>> 1 file changed, 5 insertions(+), 3 deletions(-)
>>
>> diff --git a/android/hal-bluetooth.c b/android/hal-bluetooth.c
>> index b81f8dd..6f7ef45 100644
>> --- a/android/hal-bluetooth.c
>> +++ b/android/hal-bluetooth.c
>> @@ -275,15 +275,17 @@ static int cancel_discovery(void)
>>
>> static int create_bond(const bt_bdaddr_t *bd_addr)
>> {
>> + struct hal_cmd_create_bond cmd;
>> +
>> DBG("");
>>
>> if (!interface_ready())
>> return BT_STATUS_NOT_READY;
>>
>> - if (!bd_addr)
>> - return BT_STATUS_PARM_INVALID;
>
> I think we can leave check here
If we are sure it will never be NULL then yes we can remove, otherwise leave it.
--
Luiz Augusto von Dentz
^ permalink raw reply
* Re: [PATCH] android: Cleanup error handling
From: Andrei Emeltchenko @ 2013-10-25 10:09 UTC (permalink / raw)
To: Luiz Augusto von Dentz; +Cc: linux-bluetooth@vger.kernel.org
In-Reply-To: <CABBYNZK4B5_3wP3Og=XWgohDV0UmdqZnBro-1Onv5gtJViNgKw@mail.gmail.com>
Hi Luiz,
On Fri, Oct 25, 2013 at 12:26:12PM +0300, Luiz Augusto von Dentz wrote:
> Hi Andrei,
>
> On Fri, Oct 25, 2013 at 11:43 AM, Andrei Emeltchenko
> <Andrei.Emeltchenko.news@gmail.com> wrote:
> > From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
> >
> > Remove unneeded assignment err=errno and instead use errno directly.
> > ---
> > android/hal-ipc.c | 26 ++++++++++----------------
> > 1 file changed, 10 insertions(+), 16 deletions(-)
> >
> > diff --git a/android/hal-ipc.c b/android/hal-ipc.c
> > index 6566ebb..20421db 100644
> > --- a/android/hal-ipc.c
> > +++ b/android/hal-ipc.c
> > @@ -150,9 +150,8 @@ static int accept_connection(int sk)
> >
> > err = poll(&pfd, 1, CONNECT_TIMEOUT);
> > if (err < 0) {
> > - err = errno;
> > - error("Failed to poll: %d (%s)", err, strerror(err));
> > - return -1;
> > + error("Failed to poll: %d (%s)", errno, strerror(errno));
> > + return err;
> > }
> >
> > if (err == 0) {
> > @@ -161,11 +160,9 @@ static int accept_connection(int sk)
> > }
> >
> > new_sk = accept(sk, NULL, NULL);
> > - if (new_sk < 0) {
> > - err = errno;
> > - error("Failed to accept socket: %d (%s)", err, strerror(err));
> > - return -1;
> > - }
> > + if (new_sk < 0)
> > + error("Failed to accept socket: %d (%s)", errno,
> > + strerror(errno));
> >
> > return new_sk;
> > }
> > @@ -178,9 +175,8 @@ bool hal_ipc_init(void)
> >
> > sk = socket(AF_LOCAL, SOCK_SEQPACKET, 0);
> > if (sk < 0) {
> > - err = errno;
> > - error("Failed to create socket: %d (%s)", err,
> > - strerror(err));
> > + error("Failed to create socket: %d (%s)", errno,
> > + strerror(errno));
> > return false;
> > }
> >
> > @@ -190,16 +186,14 @@ bool hal_ipc_init(void)
> > memcpy(addr.sun_path, BLUEZ_HAL_SK_PATH, sizeof(BLUEZ_HAL_SK_PATH));
> >
> > if (bind(sk, (struct sockaddr *) &addr, sizeof(addr)) < 0) {
> > - err = errno;
> > - error("Failed to bind socket: %d (%s)", err, strerror(err));
> > + error("Failed to bind socket: %d (%s)", errno, strerror(errno));
> > close(sk);
> > return false;
> > }
> >
> > if (listen(sk, 2) < 0) {
> > - err = errno;
> > - error("Failed to listen on socket: %d (%s)", err,
> > - strerror(err));
> > + error("Failed to listen on socket: %d (%s)", errno,
> > + strerror(errno));
> > close(sk);
> > return false;
> > }
> > --
> > 1.7.10.4
>
> Since the HAL is running multiple threads Im afraid errno can be
> overwritten and at least strerror_r should be used instead or use %m
> that afaik should be thread safe.
I will check does bionic supports %m %d and send the path
Best regards
Andrei Emeltchenko
^ permalink raw reply
* Re: [PATCH] android/client: Fix incorrect casts of addresses
From: Andrei Emeltchenko @ 2013-10-25 10:08 UTC (permalink / raw)
To: Jerzy Kasenberg; +Cc: linux-bluetooth
In-Reply-To: <CAHCYCozKG2K+QOvX_2eYSD96DGikc-v9dK1VNtX81tLdFzXvXg@mail.gmail.com>
Hi Jerzy,
On Fri, Oct 25, 2013 at 11:50:22AM +0200, Jerzy Kasenberg wrote:
> Hi Andrei,
>
> On 25 October 2013 11:32, Andrei Emeltchenko
> <andrei.emeltchenko.news@gmail.com> wrote:
> > Hi Jerzy,
> >
> > On Fri, Oct 25, 2013 at 10:51:10AM +0200, Jerzy Kasenberg wrote:
> >> This fixes printing of addresses.
> >> If char is set to be signed (as it should) some addresses were
> >> printed with leading FFFFFF.
> >> ---
> >> This issue did not showed up before due to unsigned char for Android build
> >> on Qualcomm platform.
> >>
> >> android/client/textconv.c | 4 ++--
> >> 1 file changed, 2 insertions(+), 2 deletions(-)
> >>
> >> diff --git a/android/client/textconv.c b/android/client/textconv.c
> >> index 1188477..bcdf4d9 100644
> >> --- a/android/client/textconv.c
> >> +++ b/android/client/textconv.c
> >> @@ -137,7 +137,7 @@ int int2str_findstr(const char *str, const struct int2str m[])
> >> */
> >> char *bt_bdaddr_t2str(const bt_bdaddr_t *bd_addr, char *buf)
> >> {
> >> - const char *p = (const char *) bd_addr;
> >> + const uint8_t *p = bd_addr->address;
> >>
> >> snprintf(buf, MAX_ADDR_STR_LEN, "%02x:%02x:%02x:%02x:%02x:%02x",
> >> p[0], p[1], p[2], p[3], p[4], p[5]);
> >
> > is this correct order btw?
>
> Tool print same address for my mouse as I see printed on the mouse so
> I guess it's correct.
OK, those are addresses sent through HAL, they are in different format.
Best regards
Andrei Emeltchenko
>
> >
> > Best regards
> > Andrei Emeltchenko
> >
> >> @@ -148,7 +148,7 @@ char *bt_bdaddr_t2str(const bt_bdaddr_t *bd_addr, char *buf)
> >> /* converts string to bt_bdaddr_t */
> >> void str2bt_bdaddr_t(const char *str, bt_bdaddr_t *bd_addr)
> >> {
> >> - char *p = (char *) bd_addr;
> >> + uint8_t *p = bd_addr->address;
> >>
> >> sscanf(str, "%02hhx:%02hhx:%02hhx:%02hhx:%02hhx:%02hhx",
> >> &p[0], &p[1], &p[2], &p[3], &p[4], &p[5]);
> >> --
> >> 1.7.9.5
> >>
> >> --
> >> To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
> >> the body of a message to majordomo@vger.kernel.org
> >> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
> --
> Best regards
> Jerzy
^ permalink raw reply
* Re: [PATCH] android/client: Fix incorrect casts of addresses
From: Jerzy Kasenberg @ 2013-10-25 9:50 UTC (permalink / raw)
To: Andrei Emeltchenko, Jerzy Kasenberg, linux-bluetooth
In-Reply-To: <20131025093227.GB6113@aemeltch-MOBL1>
Hi Andrei,
On 25 October 2013 11:32, Andrei Emeltchenko
<andrei.emeltchenko.news@gmail.com> wrote:
> Hi Jerzy,
>
> On Fri, Oct 25, 2013 at 10:51:10AM +0200, Jerzy Kasenberg wrote:
>> This fixes printing of addresses.
>> If char is set to be signed (as it should) some addresses were
>> printed with leading FFFFFF.
>> ---
>> This issue did not showed up before due to unsigned char for Android build
>> on Qualcomm platform.
>>
>> android/client/textconv.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/android/client/textconv.c b/android/client/textconv.c
>> index 1188477..bcdf4d9 100644
>> --- a/android/client/textconv.c
>> +++ b/android/client/textconv.c
>> @@ -137,7 +137,7 @@ int int2str_findstr(const char *str, const struct int2str m[])
>> */
>> char *bt_bdaddr_t2str(const bt_bdaddr_t *bd_addr, char *buf)
>> {
>> - const char *p = (const char *) bd_addr;
>> + const uint8_t *p = bd_addr->address;
>>
>> snprintf(buf, MAX_ADDR_STR_LEN, "%02x:%02x:%02x:%02x:%02x:%02x",
>> p[0], p[1], p[2], p[3], p[4], p[5]);
>
> is this correct order btw?
Tool print same address for my mouse as I see printed on the mouse so
I guess it's correct.
>
> Best regards
> Andrei Emeltchenko
>
>> @@ -148,7 +148,7 @@ char *bt_bdaddr_t2str(const bt_bdaddr_t *bd_addr, char *buf)
>> /* converts string to bt_bdaddr_t */
>> void str2bt_bdaddr_t(const char *str, bt_bdaddr_t *bd_addr)
>> {
>> - char *p = (char *) bd_addr;
>> + uint8_t *p = bd_addr->address;
>>
>> sscanf(str, "%02hhx:%02hhx:%02hhx:%02hhx:%02hhx:%02hhx",
>> &p[0], &p[1], &p[2], &p[3], &p[4], &p[5]);
>> --
>> 1.7.9.5
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
Best regards
Jerzy
^ permalink raw reply
* Re: [PATCH 06/15] android/hal: Add support for sending create bond command
From: Andrei Emeltchenko @ 2013-10-25 9:36 UTC (permalink / raw)
To: Szymon Janc; +Cc: linux-bluetooth
In-Reply-To: <1382691378-31940-6-git-send-email-szymon.janc@tieto.com>
Hi Szymon,
On Fri, Oct 25, 2013 at 10:56:09AM +0200, Szymon Janc wrote:
> This allows HAL to start bonding.
> ---
> android/hal-bluetooth.c | 8 +++++---
> 1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/android/hal-bluetooth.c b/android/hal-bluetooth.c
> index b81f8dd..6f7ef45 100644
> --- a/android/hal-bluetooth.c
> +++ b/android/hal-bluetooth.c
> @@ -275,15 +275,17 @@ static int cancel_discovery(void)
>
> static int create_bond(const bt_bdaddr_t *bd_addr)
> {
> + struct hal_cmd_create_bond cmd;
> +
> DBG("");
>
> if (!interface_ready())
> return BT_STATUS_NOT_READY;
>
> - if (!bd_addr)
> - return BT_STATUS_PARM_INVALID;
I think we can leave check here
Best regards
Andrei Emeltchenko
> + memcpy(cmd.bdaddr, bd_addr, sizeof(cmd.bdaddr));
>
> - return BT_STATUS_UNSUPPORTED;
> + return hal_ipc_cmd(HAL_SERVICE_ID_BLUETOOTH, HAL_OP_CREATE_BOND,
> + sizeof(cmd), &cmd, 0, NULL, NULL);
> }
>
> static int cancel_bond(const bt_bdaddr_t *bd_addr)
> --
> 1.8.4.1
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply
* Re: [PATCH] android/client: Fix incorrect casts of addresses
From: Andrei Emeltchenko @ 2013-10-25 9:32 UTC (permalink / raw)
To: Jerzy Kasenberg; +Cc: linux-bluetooth
In-Reply-To: <1382691070-24358-1-git-send-email-jerzy.kasenberg@tieto.com>
Hi Jerzy,
On Fri, Oct 25, 2013 at 10:51:10AM +0200, Jerzy Kasenberg wrote:
> This fixes printing of addresses.
> If char is set to be signed (as it should) some addresses were
> printed with leading FFFFFF.
> ---
> This issue did not showed up before due to unsigned char for Android build
> on Qualcomm platform.
>
> android/client/textconv.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/android/client/textconv.c b/android/client/textconv.c
> index 1188477..bcdf4d9 100644
> --- a/android/client/textconv.c
> +++ b/android/client/textconv.c
> @@ -137,7 +137,7 @@ int int2str_findstr(const char *str, const struct int2str m[])
> */
> char *bt_bdaddr_t2str(const bt_bdaddr_t *bd_addr, char *buf)
> {
> - const char *p = (const char *) bd_addr;
> + const uint8_t *p = bd_addr->address;
>
> snprintf(buf, MAX_ADDR_STR_LEN, "%02x:%02x:%02x:%02x:%02x:%02x",
> p[0], p[1], p[2], p[3], p[4], p[5]);
is this correct order btw?
Best regards
Andrei Emeltchenko
> @@ -148,7 +148,7 @@ char *bt_bdaddr_t2str(const bt_bdaddr_t *bd_addr, char *buf)
> /* converts string to bt_bdaddr_t */
> void str2bt_bdaddr_t(const char *str, bt_bdaddr_t *bd_addr)
> {
> - char *p = (char *) bd_addr;
> + uint8_t *p = bd_addr->address;
>
> sscanf(str, "%02hhx:%02hhx:%02hhx:%02hhx:%02hhx:%02hhx",
> &p[0], &p[1], &p[2], &p[3], &p[4], &p[5]);
> --
> 1.7.9.5
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply
* Re: [PATCH] android: Cleanup error handling
From: Luiz Augusto von Dentz @ 2013-10-25 9:26 UTC (permalink / raw)
To: Andrei Emeltchenko; +Cc: linux-bluetooth@vger.kernel.org
In-Reply-To: <1382690606-20721-1-git-send-email-Andrei.Emeltchenko.news@gmail.com>
Hi Andrei,
On Fri, Oct 25, 2013 at 11:43 AM, Andrei Emeltchenko
<Andrei.Emeltchenko.news@gmail.com> wrote:
> From: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
>
> Remove unneeded assignment err=errno and instead use errno directly.
> ---
> android/hal-ipc.c | 26 ++++++++++----------------
> 1 file changed, 10 insertions(+), 16 deletions(-)
>
> diff --git a/android/hal-ipc.c b/android/hal-ipc.c
> index 6566ebb..20421db 100644
> --- a/android/hal-ipc.c
> +++ b/android/hal-ipc.c
> @@ -150,9 +150,8 @@ static int accept_connection(int sk)
>
> err = poll(&pfd, 1, CONNECT_TIMEOUT);
> if (err < 0) {
> - err = errno;
> - error("Failed to poll: %d (%s)", err, strerror(err));
> - return -1;
> + error("Failed to poll: %d (%s)", errno, strerror(errno));
> + return err;
> }
>
> if (err == 0) {
> @@ -161,11 +160,9 @@ static int accept_connection(int sk)
> }
>
> new_sk = accept(sk, NULL, NULL);
> - if (new_sk < 0) {
> - err = errno;
> - error("Failed to accept socket: %d (%s)", err, strerror(err));
> - return -1;
> - }
> + if (new_sk < 0)
> + error("Failed to accept socket: %d (%s)", errno,
> + strerror(errno));
>
> return new_sk;
> }
> @@ -178,9 +175,8 @@ bool hal_ipc_init(void)
>
> sk = socket(AF_LOCAL, SOCK_SEQPACKET, 0);
> if (sk < 0) {
> - err = errno;
> - error("Failed to create socket: %d (%s)", err,
> - strerror(err));
> + error("Failed to create socket: %d (%s)", errno,
> + strerror(errno));
> return false;
> }
>
> @@ -190,16 +186,14 @@ bool hal_ipc_init(void)
> memcpy(addr.sun_path, BLUEZ_HAL_SK_PATH, sizeof(BLUEZ_HAL_SK_PATH));
>
> if (bind(sk, (struct sockaddr *) &addr, sizeof(addr)) < 0) {
> - err = errno;
> - error("Failed to bind socket: %d (%s)", err, strerror(err));
> + error("Failed to bind socket: %d (%s)", errno, strerror(errno));
> close(sk);
> return false;
> }
>
> if (listen(sk, 2) < 0) {
> - err = errno;
> - error("Failed to listen on socket: %d (%s)", err,
> - strerror(err));
> + error("Failed to listen on socket: %d (%s)", errno,
> + strerror(errno));
> close(sk);
> return false;
> }
> --
> 1.7.10.4
Since the HAL is running multiple threads Im afraid errno can be
overwritten and at least strerror_r should be used instead or use %m
that afaik should be thread safe.
--
Luiz Augusto von Dentz
^ permalink raw reply
* [PATCH] android/client: Fix crash in tab completion
From: Jerzy Kasenberg @ 2013-10-25 9:15 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Jerzy Kasenberg
When user pressed tab on third or later argument when
first two did not make sense tool crashed.
Now method is checked for NULL before accessing help field.
---
android/client/tabcompletion.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/android/client/tabcompletion.c b/android/client/tabcompletion.c
index 69af609..20d1e65 100644
--- a/android/client/tabcompletion.c
+++ b/android/client/tabcompletion.c
@@ -314,7 +314,8 @@ static void param_completion(int argc, const split_arg_t *arg,
const split_arg_t *tmp = arg;
struct command_completion_args args = {
.arg = arg,
- .func = return_null
+ .func = return_null,
+ .user_help = NULL
};
/* prepare standard argv from arg */
@@ -326,13 +327,13 @@ static void param_completion(int argc, const split_arg_t *arg,
if (method != NULL && method->complete != NULL) {
/* ask method for completion function */
method->complete(argc, argv, &args.func, &args.user);
+ args.user_help = (void *) method->help;
}
/* If method provided enumeration function call try to complete */
if (args.func != NULL) {
args.typed = argv[argc - 1];
args.help = method_help;
- args.user_help = (void *) method->help;
tab_completion(&args);
}
--
1.7.9.5
^ permalink raw reply related
* [PATCH 15/15] android: Add initial support for handling adapter get property command
From: Szymon Janc @ 2013-10-25 8:56 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Szymon Janc
In-Reply-To: <1382691378-31940-1-git-send-email-szymon.janc@tieto.com>
Support for HAL_BT_PROP_BDADDR property only.
---
android/adapter.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 50 insertions(+)
diff --git a/android/adapter.c b/android/adapter.c
index 5837e99..e6791e7 100644
--- a/android/adapter.c
+++ b/android/adapter.c
@@ -322,6 +322,49 @@ static bool set_mode(uint16_t opcode, uint8_t mode)
return false;
}
+static void send_adapter_name(void)
+{
+ struct hal_ev_adapter_props_changed *ev;
+ int len;
+
+ len = sizeof(*ev) + sizeof(struct hal_property) + sizeof(bdaddr_t);
+
+ ev = g_malloc(len);
+
+ ev->num_props = 1;
+ ev->status = HAL_ERROR_SUCCESS;
+
+ ev->props[0].type = HAL_BT_PROP_BDADDR;
+ ev->props[0].len = sizeof(bdaddr_t);
+ baswap((bdaddr_t *) ev->props[0].val, &adapter->bdaddr);
+
+ ipc_send(notification_io, HAL_SERVICE_ID_BLUETOOTH,
+ HAL_EV_ADAPTER_PROPS_CHANGED, len, ev, -1);
+
+ g_free(ev);
+}
+
+static bool get_property(void *buf, uint16_t len)
+{
+ struct hal_cmd_get_adapter_prop *cmd = buf;
+
+ switch (cmd->type) {
+ case HAL_BT_PROP_BDADDR:
+ send_adapter_name();
+ return true;
+ case HAL_BT_PROP_BDNAME:
+ case HAL_BT_PROP_UUIDS:
+ case HAL_BT_PROP_CLASS_OF_DEVICE:
+ case HAL_BT_PROP_TYPE_OF_DEVICE:
+ case HAL_BT_PROP_SERVICE_RECORD:
+ case HAL_BT_PROP_ADP_SCAN_MODE:
+ case HAL_BT_PROP_ADP_BONDED_DEVICES:
+ case HAL_BT_PROP_ADP_DISC_TIMEOUT:
+ default:
+ return false;
+ }
+}
+
void bt_adapter_handle_cmd(GIOChannel *io, uint8_t opcode, void *buf,
uint16_t len)
{
@@ -352,6 +395,13 @@ void bt_adapter_handle_cmd(GIOChannel *io, uint8_t opcode, void *buf,
return;
}
break;
+ case HAL_OP_GET_ADAPTER_PROP:
+ if (get_property(buf, len)) {
+ ipc_send(io, HAL_SERVICE_ID_BLUETOOTH, opcode, 0, NULL,
+ -1);
+ return;
+ }
+ break;
default:
DBG("Unhandled command, opcode 0x%x", opcode);
break;
--
1.8.4.1
^ permalink raw reply related
* [PATCH 14/15] android: Add missing success status definition to IPC header
From: Szymon Janc @ 2013-10-25 8:56 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Szymon Janc
In-Reply-To: <1382691378-31940-1-git-send-email-szymon.janc@tieto.com>
This is used in HAL callbacks to indicate success.
---
android/hal-msg.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/android/hal-msg.h b/android/hal-msg.h
index f6c9e22..089f1d6 100644
--- a/android/hal-msg.h
+++ b/android/hal-msg.h
@@ -49,6 +49,7 @@ struct hal_hdr {
/* Core Service */
+#define HAL_ERROR_SUCCESS 0x00
#define HAL_ERROR_FAILED 0x01
#define HAL_ERROR_NOT_READY 0x02
#define HAL_ERROR_NOMEM 0x03
--
1.8.4.1
^ permalink raw reply related
* [PATCH 13/15] android/hal: Add support for handling adapter properties change event
From: Szymon Janc @ 2013-10-25 8:56 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Szymon Janc
In-Reply-To: <1382691378-31940-1-git-send-email-szymon.janc@tieto.com>
---
android/hal-bluetooth.c | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)
diff --git a/android/hal-bluetooth.c b/android/hal-bluetooth.c
index eb400ee..9c7fbea 100644
--- a/android/hal-bluetooth.c
+++ b/android/hal-bluetooth.c
@@ -35,6 +35,37 @@ static void handle_adapter_state_changed(void *buf)
bt_hal_cbacks->adapter_state_changed_cb(ev->state);
}
+static void handle_adapter_props_changed(void *buf, uint16_t len)
+{
+ struct hal_ev_adapter_props_changed *ev = buf;
+ bt_property_t props[ev->num_props];
+ struct hal_property *hal_prop;
+ void *p;
+ int i;
+
+ if (!bt_hal_cbacks->adapter_properties_cb)
+ return;
+
+ hal_prop = ev->props;
+ p = ev->props;
+
+ for (i = 0; i < ev->num_props; i++) {
+ if (p + sizeof(*hal_prop) + hal_prop->len > buf + len) {
+ error("invalid adapter properties event, aborting");
+ exit(EXIT_FAILURE);
+ }
+
+ props[i].type = hal_prop->type;
+ props[i].len = hal_prop->len;
+ props[i].val = hal_prop->val;
+
+ p += sizeof(*hal_prop) + hal_prop->len;
+ hal_prop = p;
+ }
+
+ bt_hal_cbacks->adapter_properties_cb(ev->status, ev->num_props, props);
+}
+
/* will be called from notification thread context */
void bt_notify_adapter(uint16_t opcode, void *buf, uint16_t len)
{
@@ -45,6 +76,9 @@ void bt_notify_adapter(uint16_t opcode, void *buf, uint16_t len)
case HAL_EV_ADAPTER_STATE_CHANGED:
handle_adapter_state_changed(buf);
break;
+ case HAL_EV_ADAPTER_PROPS_CHANGED:
+ handle_adapter_props_changed(buf, len);
+ break;
default:
DBG("Unhandled callback opcode=0x%x", opcode);
break;
--
1.8.4.1
^ permalink raw reply related
* [PATCH 12/15] android/hal: Add support for sending adapter SSP reply command
From: Szymon Janc @ 2013-10-25 8:56 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Szymon Janc
In-Reply-To: <1382691378-31940-1-git-send-email-szymon.janc@tieto.com>
This allows HAL to reply to SSP request.
---
android/hal-bluetooth.c | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/android/hal-bluetooth.c b/android/hal-bluetooth.c
index 6835db3..eb400ee 100644
--- a/android/hal-bluetooth.c
+++ b/android/hal-bluetooth.c
@@ -340,15 +340,21 @@ static int pin_reply(const bt_bdaddr_t *bd_addr, uint8_t accept,
static int ssp_reply(const bt_bdaddr_t *bd_addr, bt_ssp_variant_t variant,
uint8_t accept, uint32_t passkey)
{
+ struct hal_cmd_ssp_reply 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));
+ /* type match IPC type */
+ cmd.ssp_variant = variant;
+ cmd.accept = accept;
+ cmd.passkey = passkey;
- return BT_STATUS_UNSUPPORTED;
+ return hal_ipc_cmd(HAL_SERVICE_ID_BLUETOOTH, HAL_OP_SSP_REPLY,
+ sizeof(cmd), &cmd, 0, NULL, NULL);
}
static const void *get_profile_interface(const char *profile_id)
--
1.8.4.1
^ permalink raw reply related
* [PATCH 11/15] android: Add missing SSP variant definitions to IPC header
From: Szymon Janc @ 2013-10-25 8:56 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Szymon Janc
In-Reply-To: <1382691378-31940-1-git-send-email-szymon.janc@tieto.com>
---
android/hal-msg.h | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/android/hal-msg.h b/android/hal-msg.h
index 7689f38..f6c9e22 100644
--- a/android/hal-msg.h
+++ b/android/hal-msg.h
@@ -169,6 +169,11 @@ struct hal_cmd_pin_reply {
uint8_t pin_code[16];
} __attribute__((packed));
+#define HAL_BT_SSP_VARIANT_CONFIRM 0x00
+#define HAL_BT_SSP_VARIANT_ENTRY 0x01
+#define HAL_BT_SSP_VARIANT_CONSENT 0x02
+#define HAL_BT_SSP_VARIANT_NOTIF 0x03
+
#define HAL_OP_SSP_REPLY 0x11
struct hal_cmd_ssp_reply {
uint8_t bdaddr[6];
--
1.8.4.1
^ permalink raw reply related
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox