* [PATCH] Move set_nonblocking function to audio/unix.c
@ 2010-11-04 19:43 Claudio Takahasi
2010-11-04 19:43 ` [PATCH] Enable GATT over LE link on the attribute client Claudio Takahasi
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Claudio Takahasi @ 2010-11-04 19:43 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Claudio Takahasi
---
audio/unix.c | 20 ++++++++++++++++++++
src/glib-helper.c | 20 --------------------
src/glib-helper.h | 2 --
3 files changed, 20 insertions(+), 22 deletions(-)
diff --git a/audio/unix.c b/audio/unix.c
index ad822bd..62eee31 100644
--- a/audio/unix.c
+++ b/audio/unix.c
@@ -27,6 +27,7 @@
#endif
#include <stdio.h>
+#include <fcntl.h>
#include <sys/socket.h>
#include <sys/un.h>
#include <stdlib.h>
@@ -115,6 +116,25 @@ static void client_free(struct unix_client *client)
g_free(client);
}
+static int set_nonblocking(int fd)
+{
+ long arg;
+
+ arg = fcntl(fd, F_GETFL);
+ if (arg < 0)
+ return -errno;
+
+ /* Return if already nonblocking */
+ if (arg & O_NONBLOCK)
+ return 0;
+
+ arg |= O_NONBLOCK;
+ if (fcntl(fd, F_SETFL, arg) < 0)
+ return -errno;
+
+ return 0;
+}
+
/* Pass file descriptor through local domain sockets (AF_LOCAL, formerly
* AF_UNIX) and the sendmsg() system call with the cmsg_type field of a "struct
* cmsghdr" set to SCM_RIGHTS and the data being an integer value equal to the
diff --git a/src/glib-helper.c b/src/glib-helper.c
index b3c5003..9d76626 100644
--- a/src/glib-helper.c
+++ b/src/glib-helper.c
@@ -27,7 +27,6 @@
#include <stdlib.h>
#include <errno.h>
-#include <fcntl.h>
#include <unistd.h>
#include <sys/ioctl.h>
#include <sys/socket.h>
@@ -113,25 +112,6 @@ static void cache_sdp_session(bdaddr_t *src, bdaddr_t *dst,
cached);
}
-int set_nonblocking(int fd)
-{
- long arg;
-
- arg = fcntl(fd, F_GETFL);
- if (arg < 0)
- return -errno;
-
- /* Return if already nonblocking */
- if (arg & O_NONBLOCK)
- return 0;
-
- arg |= O_NONBLOCK;
- if (fcntl(fd, F_SETFL, arg) < 0)
- return -errno;
-
- return 0;
-}
-
struct search_context {
bdaddr_t src;
bdaddr_t dst;
diff --git a/src/glib-helper.h b/src/glib-helper.h
index 8a334e9..e89c2c6 100644
--- a/src/glib-helper.h
+++ b/src/glib-helper.h
@@ -21,8 +21,6 @@
*
*/
-int set_nonblocking(int fd);
-
typedef void (*bt_callback_t) (sdp_list_t *recs, int err, gpointer user_data);
typedef void (*bt_destroy_t) (gpointer user_data);
--
1.7.3.2
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH] Enable GATT over LE link on the attribute client
2010-11-04 19:43 [PATCH] Move set_nonblocking function to audio/unix.c Claudio Takahasi
@ 2010-11-04 19:43 ` Claudio Takahasi
2010-11-05 5:03 ` Johan Hedberg
2010-11-04 19:43 ` [PATCH] Fix invalid reference to GATT service structure Claudio Takahasi
2010-11-05 5:02 ` [PATCH] Move set_nonblocking function to audio/unix.c Johan Hedberg
2 siblings, 1 reply; 6+ messages in thread
From: Claudio Takahasi @ 2010-11-04 19:43 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Claudio Takahasi
---
attrib/client.c | 22 ++++++++++++----------
attrib/gatt.h | 2 ++
attrib/gatttool.c | 1 -
3 files changed, 14 insertions(+), 11 deletions(-)
diff --git a/attrib/client.c b/attrib/client.c
index cd720e6..bcc903b 100644
--- a/attrib/client.c
+++ b/attrib/client.c
@@ -1352,23 +1352,25 @@ int attrib_client_register(struct btd_device *device, int psm)
}
if (psm < 0) {
- /*
- * FIXME: when PSM is not given means that L2CAP fixed
- * channel shall be used. For this case, ATT CID(0x0004).
- */
-
- DBG("GATT over LE");
-
- return 0;
- }
+ io = bt_io_connect(BT_IO_L2CAP, connect_cb, gatt, NULL, &gerr,
+ BT_IO_OPT_SOURCE_BDADDR, &sba,
+ BT_IO_OPT_DEST_BDADDR, &dba,
+ BT_IO_OPT_CID, GATT_CID,
+ BT_IO_OPT_SEC_LEVEL, BT_IO_SEC_LOW,
+ BT_IO_OPT_INVALID);
- io = bt_io_connect(BT_IO_L2CAP, connect_cb, gatt, NULL, &gerr,
+ DBG("GATT over Low Energy");
+ } else {
+ io = bt_io_connect(BT_IO_L2CAP, connect_cb, gatt, NULL, &gerr,
BT_IO_OPT_SOURCE_BDADDR, &sba,
BT_IO_OPT_DEST_BDADDR, &dba,
BT_IO_OPT_PSM, psm,
BT_IO_OPT_SEC_LEVEL, BT_IO_SEC_LOW,
BT_IO_OPT_INVALID);
+ DBG("GATT over Basic Rate");
+ }
+
if (!io) {
error("%s", gerr->message);
g_error_free(gerr);
diff --git a/attrib/gatt.h b/attrib/gatt.h
index a357f58..f1599c2 100644
--- a/attrib/gatt.h
+++ b/attrib/gatt.h
@@ -22,6 +22,8 @@
*
*/
+#define GATT_CID 4
+
guint gatt_discover_primary(GAttrib *attrib, uint16_t start,
uint16_t end, GAttribResultFunc func, gpointer user_data);
diff --git a/attrib/gatttool.c b/attrib/gatttool.c
index 2de3f8b..b9f5138 100644
--- a/attrib/gatttool.c
+++ b/attrib/gatttool.c
@@ -45,7 +45,6 @@
/* Minimum MTU for L2CAP connections over BR/EDR */
#define ATT_MIN_MTU_L2CAP 48
-#define GATT_CID 4
static gchar *opt_src = NULL;
static gchar *opt_dst = NULL;
--
1.7.3.2
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH] Fix invalid reference to GATT service structure
2010-11-04 19:43 [PATCH] Move set_nonblocking function to audio/unix.c Claudio Takahasi
2010-11-04 19:43 ` [PATCH] Enable GATT over LE link on the attribute client Claudio Takahasi
@ 2010-11-04 19:43 ` Claudio Takahasi
2010-11-05 5:03 ` Johan Hedberg
2010-11-05 5:02 ` [PATCH] Move set_nonblocking function to audio/unix.c Johan Hedberg
2 siblings, 1 reply; 6+ messages in thread
From: Claudio Takahasi @ 2010-11-04 19:43 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Claudio Takahasi
---
attrib/client.c | 9 ++++-----
1 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/attrib/client.c b/attrib/client.c
index bcc903b..1f2c217 100644
--- a/attrib/client.c
+++ b/attrib/client.c
@@ -1342,13 +1342,9 @@ int attrib_client_register(struct btd_device *device, int psm)
bacpy(&gatt->dba, &dba);
gatt->psm = psm;
- gatt_services = g_slist_append(gatt_services, gatt);
-
- /* FIXME: we should also listen for incoming connections */
-
if (load_primary_services(gatt)) {
DBG("Primary services loaded");
- return 0;
+ goto done;
}
if (psm < 0) {
@@ -1385,6 +1381,9 @@ int attrib_client_register(struct btd_device *device, int psm)
g_attrib_set_disconnect_function(gatt->attrib, attrib_disconnect,
gatt);
+done:
+ gatt_services = g_slist_append(gatt_services, gatt);
+
return 0;
}
--
1.7.3.2
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] Move set_nonblocking function to audio/unix.c
2010-11-04 19:43 [PATCH] Move set_nonblocking function to audio/unix.c Claudio Takahasi
2010-11-04 19:43 ` [PATCH] Enable GATT over LE link on the attribute client Claudio Takahasi
2010-11-04 19:43 ` [PATCH] Fix invalid reference to GATT service structure Claudio Takahasi
@ 2010-11-05 5:02 ` Johan Hedberg
2 siblings, 0 replies; 6+ messages in thread
From: Johan Hedberg @ 2010-11-05 5:02 UTC (permalink / raw)
To: Claudio Takahasi; +Cc: linux-bluetooth
Hi Claudio,
On Thu, Nov 04, 2010, Claudio Takahasi wrote:
> ---
> audio/unix.c | 20 ++++++++++++++++++++
> src/glib-helper.c | 20 --------------------
> src/glib-helper.h | 2 --
> 3 files changed, 20 insertions(+), 22 deletions(-)
Pushed upstream. Thanks.
Johan
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] Enable GATT over LE link on the attribute client
2010-11-04 19:43 ` [PATCH] Enable GATT over LE link on the attribute client Claudio Takahasi
@ 2010-11-05 5:03 ` Johan Hedberg
0 siblings, 0 replies; 6+ messages in thread
From: Johan Hedberg @ 2010-11-05 5:03 UTC (permalink / raw)
To: Claudio Takahasi; +Cc: linux-bluetooth
Hi Claudio,
On Thu, Nov 04, 2010, Claudio Takahasi wrote:
> ---
> attrib/client.c | 22 ++++++++++++----------
> attrib/gatt.h | 2 ++
> attrib/gatttool.c | 1 -
> 3 files changed, 14 insertions(+), 11 deletions(-)
Pushed upstream. Thanks.
Johan
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] Fix invalid reference to GATT service structure
2010-11-04 19:43 ` [PATCH] Fix invalid reference to GATT service structure Claudio Takahasi
@ 2010-11-05 5:03 ` Johan Hedberg
0 siblings, 0 replies; 6+ messages in thread
From: Johan Hedberg @ 2010-11-05 5:03 UTC (permalink / raw)
To: Claudio Takahasi; +Cc: linux-bluetooth
Hi Claudio,
On Thu, Nov 04, 2010, Claudio Takahasi wrote:
> ---
> attrib/client.c | 9 ++++-----
> 1 files changed, 4 insertions(+), 5 deletions(-)
This one has also been pushed upstream. Thanks.
Johan
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2010-11-05 5:03 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-11-04 19:43 [PATCH] Move set_nonblocking function to audio/unix.c Claudio Takahasi
2010-11-04 19:43 ` [PATCH] Enable GATT over LE link on the attribute client Claudio Takahasi
2010-11-05 5:03 ` Johan Hedberg
2010-11-04 19:43 ` [PATCH] Fix invalid reference to GATT service structure Claudio Takahasi
2010-11-05 5:03 ` Johan Hedberg
2010-11-05 5:02 ` [PATCH] Move set_nonblocking function to audio/unix.c Johan Hedberg
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox