All of lore.kernel.org
 help / color / mirror / Atom feed
* [Bluez-devel] GCC-4 Patch for btsco
@ 2005-06-17 10:05 Bastien Nocera
  2005-06-17 10:23 ` Marcel Holtmann
  0 siblings, 1 reply; 11+ messages in thread
From: Bastien Nocera @ 2005-06-17 10:05 UTC (permalink / raw)
  To: bluez-devel

Heya,

As it looks like the btsco people hang out here, I posted a patch earlier this
week on the sourceforce page.

The patch is at:
http://makeashorterlink.com/?A3F66174B

- Fixes "argument differ in signedness issues"
- Fix hci_switch_role expecting a bdaddr_t as the second argument (not a
"bdaddr_t *")
- Fix compilation with 2.6 kernels where
/lib/modules/<kernel-version>/build is a symlink to the necessary headers to
compile a kernel module

Cheers

PS: Please CC: me on the answers as I'm not subscribed to the list.

Index: a2play.c
===================================================================
RCS file: /cvsroot/bluetooth-alsa/btsco/a2play.c,v
retrieving revision 1.80
diff -u -r1.80 a2play.c
--- a2play.c	4 Jun 2005 07:41:29 -0000	1.80
+++ a2play.c	15 Jun 2005 09:16:30 -0000
@@ -278,7 +278,8 @@
 {
 	struct sockaddr_l2 addr;
 	struct l2cap_options opts;
-	int sk, opt;
+	int sk;
+	unsigned int opt;
 
 	sk = socket(PF_BLUETOOTH, SOCK_SEQPACKET, BTPROTO_L2CAP);
 	if (sk < 0) {
Index: a2recv.c
===================================================================
RCS file: /cvsroot/bluetooth-alsa/btsco/a2recv.c,v
retrieving revision 1.13
diff -u -r1.13 a2recv.c
--- a2recv.c	11 May 2005 15:17:07 -0000	1.13
+++ a2recv.c	15 Jun 2005 09:16:31 -0000
@@ -152,9 +152,8 @@
 {
 	struct sockaddr_l2 addr;
 	struct l2cap_options opts;
-	
 	int sk;
-	int opt;
+	unsigned int opt;
 
 	sk = socket(PF_BLUETOOTH, SOCK_SEQPACKET, BTPROTO_L2CAP);
 	if (sk < 0) {
@@ -205,8 +204,8 @@
 	struct l2cap_options opts;
 	socklen_t addrlen;
 	int nsk;
-	int opt;
-	
+	unsigned int opt;
+
 	memset(&addr, 0, sizeof(addr));
 	addrlen = sizeof(addr);
 
@@ -278,7 +277,7 @@
 		return;
         }
 
-        if (hci_switch_role(dd, &bdaddr, role, 10000) < 0) {
+        if (hci_switch_role(dd, bdaddr, role, 10000) < 0) {
                 perror("Switch role request failed");
         }
 
Index: btsco.c
===================================================================
RCS file: /cvsroot/bluetooth-alsa/btsco/btsco.c,v
retrieving revision 1.27
diff -u -r1.27 btsco.c
--- btsco.c	24 May 2005 13:34:17 -0000	1.27
+++ btsco.c	15 Jun 2005 09:16:32 -0000
@@ -139,7 +139,8 @@
 	struct sockaddr_sco addr;
 	struct sco_conninfo conn;
 	struct sco_options opts;
-	int s, size;
+	int s;
+	unsigned int size;
 
 	if ((s = socket(PF_BLUETOOTH, SOCK_SEQPACKET, BTPROTO_SCO)) < 0) {
 		return -1;
@@ -443,7 +444,7 @@
 	struct sigaction sa;
 
 	//struct timeval timeout;
-	unsigned char buf[2048];
+	char buf[2048];
 	//int sel, rlen, wlen;
 	int rlen, wlen;
 
@@ -640,7 +641,7 @@
 			perror("poll");
 			sleep(1); /* Don't steal the CPU in case of non-transient errors. */
 		} else if (ret > 0) {
-			short revents;
+			unsigned short revents;
 
 			/*printf("inner loop\n"); */
 			/* Volume polling (sound card) */
Index: btsco2.c
===================================================================
RCS file: /cvsroot/bluetooth-alsa/btsco/btsco2.c,v
retrieving revision 1.2
diff -u -r1.2 btsco2.c
--- btsco2.c	21 Feb 2005 16:52:43 -0000	1.2
+++ btsco2.c	15 Jun 2005 09:16:33 -0000
@@ -377,7 +377,7 @@
 
 static int headset_from_bt(struct s_headset *headset)
 {
-	unsigned char buf[2048];
+	char buf[2048];
 	int rlen;
 	int opdone;
 	
@@ -535,7 +535,7 @@
 
 	/* we are not yet connected */
 	while (!terminate) {
-		short revents;
+		unsigned short revents;
 		int nfds;
 		nfds = 0;
 		/* set up data polling description */
Index: kernel/Makefile
===================================================================
RCS file: /cvsroot/bluetooth-alsa/btsco/kernel/Makefile,v
retrieving revision 1.3
diff -u -r1.3 Makefile
--- kernel/Makefile	23 Jan 2005 06:23:02 -0000	1.3
+++ kernel/Makefile	15 Jun 2005 09:16:33 -0000
@@ -10,10 +10,10 @@
 
 
 default:
-	@make -C /lib/modules/`uname -r`/source M=`pwd` modules
+	@make -C /lib/modules/`uname -r`/build M=`pwd` modules
 
 install:
-	@make -C /lib/modules/`uname -r`/source M=`pwd` modules_install
+	@make -C /lib/modules/`uname -r`/build M=`pwd` modules_install
 
 clean:
-	@make -C /lib/modules/`uname -r`/source M=`pwd` clean
+	@make -C /lib/modules/`uname -r`/build M=`pwd` clean




-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Bluez-devel] GCC-4 Patch for btsco
  2005-06-17 10:05 [Bluez-devel] GCC-4 Patch for btsco Bastien Nocera
@ 2005-06-17 10:23 ` Marcel Holtmann
  2005-06-17 10:51   ` [Bluez-devel] " Bastien Nocera
  0 siblings, 1 reply; 11+ messages in thread
From: Marcel Holtmann @ 2005-06-17 10:23 UTC (permalink / raw)
  To: bluez-devel

Hi Bastien,

> - Fix hci_switch_role expecting a bdaddr_t as the second argument (not a
> "bdaddr_t *")

this was a bug in the earlier library versions. The correct argument is
a "bdaddr_t *" as for all other functions.

Regards

Marcel




-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bluez-devel] Re: GCC-4 Patch for btsco
  2005-06-17 10:23 ` Marcel Holtmann
@ 2005-06-17 10:51   ` Bastien Nocera
  2005-06-17 11:05     ` Marcel Holtmann
  0 siblings, 1 reply; 11+ messages in thread
From: Bastien Nocera @ 2005-06-17 10:51 UTC (permalink / raw)
  To: bluez-devel

Marcel Holtmann <marcel <at> holtmann.org> writes:

Hey Marcel,

> Hi Bastien,
> 
> > - Fix hci_switch_role expecting a bdaddr_t as the second argument (not a
> > "bdaddr_t *")
> 
> this was a bug in the earlier library versions. The correct argument is
> a "bdaddr_t *" as for all other functions.

I believe you mean that there was a bug in the headers. In which version of the
bluez-libs was this fixed?

Slightly updated patch attached, we would want to require a newer version of
bluez-libs in the configure.

Index: a2play.c
===================================================================
RCS file: /cvsroot/bluetooth-alsa/btsco/a2play.c,v
retrieving revision 1.80
diff -u -p -r1.80 a2play.c
--- a2play.c	4 Jun 2005 07:41:29 -0000	1.80
+++ a2play.c	17 Jun 2005 10:53:12 -0000
@@ -278,7 +278,8 @@ static int do_connect(bdaddr_t *src, bda
 {
 	struct sockaddr_l2 addr;
 	struct l2cap_options opts;
-	int sk, opt;
+	int sk;
+	unsigned int opt;
 
 	sk = socket(PF_BLUETOOTH, SOCK_SEQPACKET, BTPROTO_L2CAP);
 	if (sk < 0) {
Index: a2recv.c
===================================================================
RCS file: /cvsroot/bluetooth-alsa/btsco/a2recv.c,v
retrieving revision 1.13
diff -u -p -r1.13 a2recv.c
--- a2recv.c	11 May 2005 15:17:07 -0000	1.13
+++ a2recv.c	17 Jun 2005 10:53:13 -0000
@@ -152,9 +152,8 @@ static int do_listen(bdaddr_t *src, unsi
 {
 	struct sockaddr_l2 addr;
 	struct l2cap_options opts;
-	
 	int sk;
-	int opt;
+	unsigned int opt;
 
 	sk = socket(PF_BLUETOOTH, SOCK_SEQPACKET, BTPROTO_L2CAP);
 	if (sk < 0) {
@@ -205,8 +204,8 @@ static int do_accept(int serverfd, bdadd
 	struct l2cap_options opts;
 	socklen_t addrlen;
 	int nsk;
-	int opt;
-	
+	unsigned int opt;
+
 	memset(&addr, 0, sizeof(addr));
 	addrlen = sizeof(addr);
 
@@ -278,6 +277,9 @@ static void make_master(bdaddr_t bdaddr)
 		return;
         }
 
+	/* Older versions of bluez-libs got the second argument
+	 * wrong, hci_switch_role is expecting a pointer to
+	 * a bdaddr_t */
         if (hci_switch_role(dd, &bdaddr, role, 10000) < 0) {
                 perror("Switch role request failed");
         }
Index: btsco.c
===================================================================
RCS file: /cvsroot/bluetooth-alsa/btsco/btsco.c,v
retrieving revision 1.27
diff -u -p -r1.27 btsco.c
--- btsco.c	24 May 2005 13:34:17 -0000	1.27
+++ btsco.c	17 Jun 2005 10:53:14 -0000
@@ -139,7 +139,8 @@ static int sco_connect(bdaddr_t * src, b
 	struct sockaddr_sco addr;
 	struct sco_conninfo conn;
 	struct sco_options opts;
-	int s, size;
+	int s;
+	unsigned int size;
 
 	if ((s = socket(PF_BLUETOOTH, SOCK_SEQPACKET, BTPROTO_SCO)) < 0) {
 		return -1;
@@ -443,7 +444,7 @@ int main(int argc, char *argv[])
 	struct sigaction sa;
 
 	//struct timeval timeout;
-	unsigned char buf[2048];
+	char buf[2048];
 	//int sel, rlen, wlen;
 	int rlen, wlen;
 
@@ -640,7 +641,7 @@ int main(int argc, char *argv[])
 			perror("poll");
 			sleep(1); /* Don't steal the CPU in case of non-transient errors. */
 		} else if (ret > 0) {
-			short revents;
+			unsigned short revents;
 
 			/*printf("inner loop\n"); */
 			/* Volume polling (sound card) */
Index: btsco2.c
===================================================================
RCS file: /cvsroot/bluetooth-alsa/btsco/btsco2.c,v
retrieving revision 1.2
diff -u -p -r1.2 btsco2.c
--- btsco2.c	21 Feb 2005 16:52:43 -0000	1.2
+++ btsco2.c	17 Jun 2005 10:53:14 -0000
@@ -377,7 +377,7 @@ static int headset_micro(struct s_headse
 
 static int headset_from_bt(struct s_headset *headset)
 {
-	unsigned char buf[2048];
+	char buf[2048];
 	int rlen;
 	int opdone;
 	
@@ -535,7 +535,7 @@ int main(int argc, char *argv[])
 
 	/* we are not yet connected */
 	while (!terminate) {
-		short revents;
+		unsigned short revents;
 		int nfds;
 		nfds = 0;
 		/* set up data polling description */
Index: kernel/Makefile
===================================================================
RCS file: /cvsroot/bluetooth-alsa/btsco/kernel/Makefile,v
retrieving revision 1.3
diff -u -p -r1.3 Makefile
--- kernel/Makefile	23 Jan 2005 06:23:02 -0000	1.3
+++ kernel/Makefile	17 Jun 2005 10:53:15 -0000
@@ -10,10 +10,10 @@ endif
 
 
 default:
-	@make -C /lib/modules/`uname -r`/source M=`pwd` modules
+	@make -C /lib/modules/`uname -r`/build M=`pwd` modules
 
 install:
-	@make -C /lib/modules/`uname -r`/source M=`pwd` modules_install
+	@make -C /lib/modules/`uname -r`/build M=`pwd` modules_install
 
 clean:
-	@make -C /lib/modules/`uname -r`/source M=`pwd` clean
+	@make -C /lib/modules/`uname -r`/build M=`pwd` clean




-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Bluez-devel] Re: GCC-4 Patch for btsco
  2005-06-17 10:51   ` [Bluez-devel] " Bastien Nocera
@ 2005-06-17 11:05     ` Marcel Holtmann
  2005-06-17 11:33       ` Bastien Nocera
  0 siblings, 1 reply; 11+ messages in thread
From: Marcel Holtmann @ 2005-06-17 11:05 UTC (permalink / raw)
  To: bluez-devel

Hi Bastian,

> > > - Fix hci_switch_role expecting a bdaddr_t as the second argument (not a
> > > "bdaddr_t *")
> > 
> > this was a bug in the earlier library versions. The correct argument is
> > a "bdaddr_t *" as for all other functions.
> 
> I believe you mean that there was a bug in the headers. In which version of the
> bluez-libs was this fixed?

the bug was also present in the function itself. I have no idea how it
slipped into the source. I fixed it with the bluez-libs-2.11 release.

Regards

Marcel




-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bluez-devel] Re: GCC-4 Patch for btsco
  2005-06-17 11:05     ` Marcel Holtmann
@ 2005-06-17 11:33       ` Bastien Nocera
  2005-06-17 13:31         ` Brad Midgley
  2005-06-17 18:45         ` Brad Midgley
  0 siblings, 2 replies; 11+ messages in thread
From: Bastien Nocera @ 2005-06-17 11:33 UTC (permalink / raw)
  To: bluez-devel

Marcel Holtmann <marcel <at> holtmann.org> writes:

> the bug was also present in the function itself. I have no idea how it
> slipped into the source. I fixed it with the bluez-libs-2.11 release.

Excellent, here's a patch to btsco to require bluez-libs 2.11.

$ ./configure
<snip
checking for hci_open_dev in -lbluetooth... yes
checking for sdp_connect in -lbluetooth... yes
configure: error: bluez-libs 2.11 or better is required to compile btsco
make: *** [config.status] Error 1
$ grep hci_switch_role config.log
conftest.c:35: error: incompatible type for argument 2 of 'hci_switch_role'
|       hci_switch_role(dd, addr, role, to);

Index: configure.in
===================================================================
RCS file: /cvsroot/bluetooth-alsa/btsco/configure.in,v
retrieving revision 1.8
diff -u -r1.8 configure.in
--- configure.in        22 Apr 2005 17:17:25 -0000      1.8
+++ configure.in        17 Jun 2005 11:36:39 -0000
@@ -19,6 +19,22 @@
 AC_PROG_RANLIB
 AC_PATH_BLUEZ

+AC_TRY_COMPILE([
+       #include <bluetooth/bluetooth.h>
+       #include <sys/socket.h>
+       #include <bluetooth/hci.h>
+       #include <bluetooth/hci_lib.h>
+       ],[
+       bdaddr_t *addr;
+       int dd = 0;
+       int role = 0;
+       int to = 0;
+       hci_switch_role(dd, addr, role, to);
+       ],HAVE_BLUEZ=yes,HAVE_BLUEZ=no)
+if test x$HAVE_BLUEZ != xyes; then
+       AC_MSG_ERROR(bluez-libs 2.11 or better is required to compile btsco)
+fi
+
 AM_PATH_ALSA(1.0.3)

 XIPH_PATH_AO




-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Bluez-devel] Re: GCC-4 Patch for btsco
  2005-06-17 11:33       ` Bastien Nocera
@ 2005-06-17 13:31         ` Brad Midgley
  2005-06-17 20:11           ` Bastien Nocera
  2005-06-17 18:45         ` Brad Midgley
  1 sibling, 1 reply; 11+ messages in thread
From: Brad Midgley @ 2005-06-17 13:31 UTC (permalink / raw)
  To: bluez-devel

Bastien,

Could you help to just disable the role switch call at compile time if 
bluez-libs is too old? Most people don't need it. I don't know the 
autoconf stuff well enough to make it a conditional compile.

Brad

Bastien Nocera wrote:
> Marcel Holtmann <marcel <at> holtmann.org> writes:
> 
> 
>>the bug was also present in the function itself. I have no idea how it
>>slipped into the source. I fixed it with the bluez-libs-2.11 release.
> 
> 
> Excellent, here's a patch to btsco to require bluez-libs 2.11.
> 
> $ ./configure
> <snip
> checking for hci_open_dev in -lbluetooth... yes
> checking for sdp_connect in -lbluetooth... yes
> configure: error: bluez-libs 2.11 or better is required to compile btsco
> make: *** [config.status] Error 1
> $ grep hci_switch_role config.log
> conftest.c:35: error: incompatible type for argument 2 of 'hci_switch_role'
> |       hci_switch_role(dd, addr, role, to);
> 
> Index: configure.in
> ===================================================================
> RCS file: /cvsroot/bluetooth-alsa/btsco/configure.in,v
> retrieving revision 1.8
> diff -u -r1.8 configure.in
> --- configure.in        22 Apr 2005 17:17:25 -0000      1.8
> +++ configure.in        17 Jun 2005 11:36:39 -0000
> @@ -19,6 +19,22 @@
>  AC_PROG_RANLIB
>  AC_PATH_BLUEZ
> 
> +AC_TRY_COMPILE([
> +       #include <bluetooth/bluetooth.h>
> +       #include <sys/socket.h>
> +       #include <bluetooth/hci.h>
> +       #include <bluetooth/hci_lib.h>
> +       ],[
> +       bdaddr_t *addr;
> +       int dd = 0;
> +       int role = 0;
> +       int to = 0;
> +       hci_switch_role(dd, addr, role, to);
> +       ],HAVE_BLUEZ=yes,HAVE_BLUEZ=no)
> +if test x$HAVE_BLUEZ != xyes; then
> +       AC_MSG_ERROR(bluez-libs 2.11 or better is required to compile btsco)
> +fi
> +
>  AM_PATH_ALSA(1.0.3)
> 
>  XIPH_PATH_AO
> 
> 
> 
> 
> -------------------------------------------------------
> SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
> from IBM. Find simple to follow Roadmaps, straightforward articles,
> informative Webcasts and more! Get everything you need to get up to
> speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
> _______________________________________________
> Bluez-devel mailing list
> Bluez-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bluez-devel


-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Bluez-devel] Re: GCC-4 Patch for btsco
  2005-06-17 11:33       ` Bastien Nocera
  2005-06-17 13:31         ` Brad Midgley
@ 2005-06-17 18:45         ` Brad Midgley
  2005-06-17 18:49           ` Luiz Fernando Capitulino
  1 sibling, 1 reply; 11+ messages in thread
From: Brad Midgley @ 2005-06-17 18:45 UTC (permalink / raw)
  To: bluez-devel

Guys,

Should we just require bluez-libs 2.11 or use hci_switch_role 
conditionally? We seem to be very demanding :)

(current kernel, etc)

Brad

Bastien Nocera wrote:
> Marcel Holtmann <marcel <at> holtmann.org> writes:
> 
> 
>>the bug was also present in the function itself. I have no idea how it
>>slipped into the source. I fixed it with the bluez-libs-2.11 release.
> 
> 
> Excellent, here's a patch to btsco to require bluez-libs 2.11.
> 
> $ ./configure
> <snip
> checking for hci_open_dev in -lbluetooth... yes
> checking for sdp_connect in -lbluetooth... yes
> configure: error: bluez-libs 2.11 or better is required to compile btsco
> make: *** [config.status] Error 1
> $ grep hci_switch_role config.log
> conftest.c:35: error: incompatible type for argument 2 of 'hci_switch_role'
> |       hci_switch_role(dd, addr, role, to);
> 
> Index: configure.in
> ===================================================================
> RCS file: /cvsroot/bluetooth-alsa/btsco/configure.in,v
> retrieving revision 1.8
> diff -u -r1.8 configure.in
> --- configure.in        22 Apr 2005 17:17:25 -0000      1.8
> +++ configure.in        17 Jun 2005 11:36:39 -0000
> @@ -19,6 +19,22 @@
>  AC_PROG_RANLIB
>  AC_PATH_BLUEZ
> 
> +AC_TRY_COMPILE([
> +       #include <bluetooth/bluetooth.h>
> +       #include <sys/socket.h>
> +       #include <bluetooth/hci.h>
> +       #include <bluetooth/hci_lib.h>
> +       ],[
> +       bdaddr_t *addr;
> +       int dd = 0;
> +       int role = 0;
> +       int to = 0;
> +       hci_switch_role(dd, addr, role, to);
> +       ],HAVE_BLUEZ=yes,HAVE_BLUEZ=no)
> +if test x$HAVE_BLUEZ != xyes; then
> +       AC_MSG_ERROR(bluez-libs 2.11 or better is required to compile btsco)
> +fi
> +
>  AM_PATH_ALSA(1.0.3)
> 
>  XIPH_PATH_AO
> 
> 
> 
> 
> -------------------------------------------------------
> SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
> from IBM. Find simple to follow Roadmaps, straightforward articles,
> informative Webcasts and more! Get everything you need to get up to
> speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
> _______________________________________________
> Bluez-devel mailing list
> Bluez-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bluez-devel


-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Bluez-devel] Re: GCC-4 Patch for btsco
  2005-06-17 18:45         ` Brad Midgley
@ 2005-06-17 18:49           ` Luiz Fernando Capitulino
  0 siblings, 0 replies; 11+ messages in thread
From: Luiz Fernando Capitulino @ 2005-06-17 18:49 UTC (permalink / raw)
  To: bluez-devel

Brad Midgley wrote:
> Guys,
> 
> Should we just require bluez-libs 2.11 or use hci_switch_role 
> conditionally? We seem to be very demanding :)

 Require a library version is a common pratice, I don't see
any problem with that.

 Pre-Processor conditional compile macros makes your code a bit
harder to understand and to mantain, it's not reasonable to
do that without a good reason.

 Well, my 2 cents. :)

-- 
Luiz Fernando N. Capitulino


-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Bluez-devel] Re: GCC-4 Patch for btsco
  2005-06-17 13:31         ` Brad Midgley
@ 2005-06-17 20:11           ` Bastien Nocera
  2005-06-17 20:49             ` Brad Midgley
  0 siblings, 1 reply; 11+ messages in thread
From: Bastien Nocera @ 2005-06-17 20:11 UTC (permalink / raw)
  To: bluez-devel

[-- Attachment #1: Type: text/plain, Size: 255 bytes --]

Here's goes patch #3.

It won't yell at you anymore if you have a broken bluez-libs, but will
just disable the hci_switch_role call.
Previous fixes also included.

Cheers

PS: Please CC: me on the answer, again :)
---
Bastien Nocera <hadess@hadess.net> 


[-- Attachment #2: btsco-gcc4-warning-fixes3.patch --]
[-- Type: text/x-patch, Size: 4923 bytes --]

Index: a2play.c
===================================================================
RCS file: /cvsroot/bluetooth-alsa/btsco/a2play.c,v
retrieving revision 1.80
diff -u -p -r1.80 a2play.c
--- a2play.c	4 Jun 2005 07:41:29 -0000	1.80
+++ a2play.c	17 Jun 2005 20:05:26 -0000
@@ -278,7 +278,8 @@ static int do_connect(bdaddr_t *src, bda
 {
 	struct sockaddr_l2 addr;
 	struct l2cap_options opts;
-	int sk, opt;
+	int sk;
+	unsigned int opt;
 
 	sk = socket(PF_BLUETOOTH, SOCK_SEQPACKET, BTPROTO_L2CAP);
 	if (sk < 0) {
Index: a2recv.c
===================================================================
RCS file: /cvsroot/bluetooth-alsa/btsco/a2recv.c,v
retrieving revision 1.13
diff -u -p -r1.13 a2recv.c
--- a2recv.c	11 May 2005 15:17:07 -0000	1.13
+++ a2recv.c	17 Jun 2005 20:05:27 -0000
@@ -152,9 +152,8 @@ static int do_listen(bdaddr_t *src, unsi
 {
 	struct sockaddr_l2 addr;
 	struct l2cap_options opts;
-	
 	int sk;
-	int opt;
+	unsigned int opt;
 
 	sk = socket(PF_BLUETOOTH, SOCK_SEQPACKET, BTPROTO_L2CAP);
 	if (sk < 0) {
@@ -205,8 +204,8 @@ static int do_accept(int serverfd, bdadd
 	struct l2cap_options opts;
 	socklen_t addrlen;
 	int nsk;
-	int opt;
-	
+	unsigned int opt;
+
 	memset(&addr, 0, sizeof(addr));
 	addrlen = sizeof(addr);
 
@@ -278,10 +277,14 @@ static void make_master(bdaddr_t bdaddr)
 		return;
         }
 
+#ifndef HAVE_NO_HCI_SWITCH_ROLE
+	/* Older versions of bluez-libs got the second argument
+	 * wrong, hci_switch_role is expecting a pointer to
+	 * a bdaddr_t */
         if (hci_switch_role(dd, &bdaddr, role, 10000) < 0) {
                 perror("Switch role request failed");
         }
-
+#endif
         close(dd);
 }
 
Index: btsco.c
===================================================================
RCS file: /cvsroot/bluetooth-alsa/btsco/btsco.c,v
retrieving revision 1.27
diff -u -p -r1.27 btsco.c
--- btsco.c	24 May 2005 13:34:17 -0000	1.27
+++ btsco.c	17 Jun 2005 20:05:27 -0000
@@ -139,7 +139,8 @@ static int sco_connect(bdaddr_t * src, b
 	struct sockaddr_sco addr;
 	struct sco_conninfo conn;
 	struct sco_options opts;
-	int s, size;
+	int s;
+	unsigned int size;
 
 	if ((s = socket(PF_BLUETOOTH, SOCK_SEQPACKET, BTPROTO_SCO)) < 0) {
 		return -1;
@@ -443,7 +444,7 @@ int main(int argc, char *argv[])
 	struct sigaction sa;
 
 	//struct timeval timeout;
-	unsigned char buf[2048];
+	char buf[2048];
 	//int sel, rlen, wlen;
 	int rlen, wlen;
 
@@ -640,7 +641,7 @@ int main(int argc, char *argv[])
 			perror("poll");
 			sleep(1); /* Don't steal the CPU in case of non-transient errors. */
 		} else if (ret > 0) {
-			short revents;
+			unsigned short revents;
 
 			/*printf("inner loop\n"); */
 			/* Volume polling (sound card) */
Index: btsco2.c
===================================================================
RCS file: /cvsroot/bluetooth-alsa/btsco/btsco2.c,v
retrieving revision 1.2
diff -u -p -r1.2 btsco2.c
--- btsco2.c	21 Feb 2005 16:52:43 -0000	1.2
+++ btsco2.c	17 Jun 2005 20:05:28 -0000
@@ -377,7 +377,7 @@ static int headset_micro(struct s_headse
 
 static int headset_from_bt(struct s_headset *headset)
 {
-	unsigned char buf[2048];
+	char buf[2048];
 	int rlen;
 	int opdone;
 	
@@ -535,7 +535,7 @@ int main(int argc, char *argv[])
 
 	/* we are not yet connected */
 	while (!terminate) {
-		short revents;
+		unsigned short revents;
 		int nfds;
 		nfds = 0;
 		/* set up data polling description */
Index: configure.in
===================================================================
RCS file: /cvsroot/bluetooth-alsa/btsco/configure.in,v
retrieving revision 1.8
diff -u -p -r1.8 configure.in
--- configure.in	22 Apr 2005 17:17:25 -0000	1.8
+++ configure.in	17 Jun 2005 20:05:28 -0000
@@ -19,6 +19,23 @@ AC_PROG_INSTALL
 AC_PROG_RANLIB
 AC_PATH_BLUEZ
 
+AC_TRY_COMPILE([
+	#include <bluetooth/bluetooth.h>
+	#include <sys/socket.h>
+	#include <bluetooth/hci.h>
+	#include <bluetooth/hci_lib.h>
+	],[
+	bdaddr_t *addr;
+	int dd = 0;
+	int role = 0;
+	int to = 0;
+	hci_switch_role(dd, addr, role, to);
+	],HAVE_HCI_SWITCH_ROLE=yes,HAVE_HCI_SWITCH_ROLE=no)
+
+if test x$HAVE_HCI_SWITCH_ROLE != xyes; then
+	AC_DEFINE(HAVE_NO_HCI_SWITCH_ROLE, 1, [defined if hci_switch_role is broken])
+fi
+
 AM_PATH_ALSA(1.0.3)
 
 XIPH_PATH_AO
Index: kernel/Makefile
===================================================================
RCS file: /cvsroot/bluetooth-alsa/btsco/kernel/Makefile,v
retrieving revision 1.3
diff -u -p -r1.3 Makefile
--- kernel/Makefile	23 Jan 2005 06:23:02 -0000	1.3
+++ kernel/Makefile	17 Jun 2005 20:05:28 -0000
@@ -10,10 +10,10 @@ endif
 
 
 default:
-	@make -C /lib/modules/`uname -r`/source M=`pwd` modules
+	@make -C /lib/modules/`uname -r`/build M=`pwd` modules
 
 install:
-	@make -C /lib/modules/`uname -r`/source M=`pwd` modules_install
+	@make -C /lib/modules/`uname -r`/build M=`pwd` modules_install
 
 clean:
-	@make -C /lib/modules/`uname -r`/source M=`pwd` clean
+	@make -C /lib/modules/`uname -r`/build M=`pwd` clean

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Bluez-devel] Re: GCC-4 Patch for btsco
  2005-06-17 20:11           ` Bastien Nocera
@ 2005-06-17 20:49             ` Brad Midgley
  2005-06-17 21:26               ` Bastien Nocera
  0 siblings, 1 reply; 11+ messages in thread
From: Brad Midgley @ 2005-06-17 20:49 UTC (permalink / raw)
  To: bluez-devel, hadess

thanks, applied. will show up in the anon tree shortly.

Bastien Nocera wrote:
> Here's goes patch #3.
> 
> It won't yell at you anymore if you have a broken bluez-libs, but will
> just disable the hci_switch_role call.
> Previous fixes also included.
> 
> Cheers
> 
> PS: Please CC: me on the answer, again :)
> ---
> Bastien Nocera <hadess@hadess.net> 
> 
> 
> 
> ------------------------------------------------------------------------
> 
> Index: a2play.c
> ===================================================================
> RCS file: /cvsroot/bluetooth-alsa/btsco/a2play.c,v
> retrieving revision 1.80
> diff -u -p -r1.80 a2play.c
> --- a2play.c	4 Jun 2005 07:41:29 -0000	1.80
> +++ a2play.c	17 Jun 2005 20:05:26 -0000
> @@ -278,7 +278,8 @@ static int do_connect(bdaddr_t *src, bda
>  {
>  	struct sockaddr_l2 addr;
>  	struct l2cap_options opts;
> -	int sk, opt;
> +	int sk;
> +	unsigned int opt;
>  
>  	sk = socket(PF_BLUETOOTH, SOCK_SEQPACKET, BTPROTO_L2CAP);
>  	if (sk < 0) {
> Index: a2recv.c
> ===================================================================
> RCS file: /cvsroot/bluetooth-alsa/btsco/a2recv.c,v
> retrieving revision 1.13
> diff -u -p -r1.13 a2recv.c
> --- a2recv.c	11 May 2005 15:17:07 -0000	1.13
> +++ a2recv.c	17 Jun 2005 20:05:27 -0000
> @@ -152,9 +152,8 @@ static int do_listen(bdaddr_t *src, unsi
>  {
>  	struct sockaddr_l2 addr;
>  	struct l2cap_options opts;
> -	
>  	int sk;
> -	int opt;
> +	unsigned int opt;
>  
>  	sk = socket(PF_BLUETOOTH, SOCK_SEQPACKET, BTPROTO_L2CAP);
>  	if (sk < 0) {
> @@ -205,8 +204,8 @@ static int do_accept(int serverfd, bdadd
>  	struct l2cap_options opts;
>  	socklen_t addrlen;
>  	int nsk;
> -	int opt;
> -	
> +	unsigned int opt;
> +
>  	memset(&addr, 0, sizeof(addr));
>  	addrlen = sizeof(addr);
>  
> @@ -278,10 +277,14 @@ static void make_master(bdaddr_t bdaddr)
>  		return;
>          }
>  
> +#ifndef HAVE_NO_HCI_SWITCH_ROLE
> +	/* Older versions of bluez-libs got the second argument
> +	 * wrong, hci_switch_role is expecting a pointer to
> +	 * a bdaddr_t */
>          if (hci_switch_role(dd, &bdaddr, role, 10000) < 0) {
>                  perror("Switch role request failed");
>          }
> -
> +#endif
>          close(dd);
>  }
>  
> Index: btsco.c
> ===================================================================
> RCS file: /cvsroot/bluetooth-alsa/btsco/btsco.c,v
> retrieving revision 1.27
> diff -u -p -r1.27 btsco.c
> --- btsco.c	24 May 2005 13:34:17 -0000	1.27
> +++ btsco.c	17 Jun 2005 20:05:27 -0000
> @@ -139,7 +139,8 @@ static int sco_connect(bdaddr_t * src, b
>  	struct sockaddr_sco addr;
>  	struct sco_conninfo conn;
>  	struct sco_options opts;
> -	int s, size;
> +	int s;
> +	unsigned int size;
>  
>  	if ((s = socket(PF_BLUETOOTH, SOCK_SEQPACKET, BTPROTO_SCO)) < 0) {
>  		return -1;
> @@ -443,7 +444,7 @@ int main(int argc, char *argv[])
>  	struct sigaction sa;
>  
>  	//struct timeval timeout;
> -	unsigned char buf[2048];
> +	char buf[2048];
>  	//int sel, rlen, wlen;
>  	int rlen, wlen;
>  
> @@ -640,7 +641,7 @@ int main(int argc, char *argv[])
>  			perror("poll");
>  			sleep(1); /* Don't steal the CPU in case of non-transient errors. */
>  		} else if (ret > 0) {
> -			short revents;
> +			unsigned short revents;
>  
>  			/*printf("inner loop\n"); */
>  			/* Volume polling (sound card) */
> Index: btsco2.c
> ===================================================================
> RCS file: /cvsroot/bluetooth-alsa/btsco/btsco2.c,v
> retrieving revision 1.2
> diff -u -p -r1.2 btsco2.c
> --- btsco2.c	21 Feb 2005 16:52:43 -0000	1.2
> +++ btsco2.c	17 Jun 2005 20:05:28 -0000
> @@ -377,7 +377,7 @@ static int headset_micro(struct s_headse
>  
>  static int headset_from_bt(struct s_headset *headset)
>  {
> -	unsigned char buf[2048];
> +	char buf[2048];
>  	int rlen;
>  	int opdone;
>  	
> @@ -535,7 +535,7 @@ int main(int argc, char *argv[])
>  
>  	/* we are not yet connected */
>  	while (!terminate) {
> -		short revents;
> +		unsigned short revents;
>  		int nfds;
>  		nfds = 0;
>  		/* set up data polling description */
> Index: configure.in
> ===================================================================
> RCS file: /cvsroot/bluetooth-alsa/btsco/configure.in,v
> retrieving revision 1.8
> diff -u -p -r1.8 configure.in
> --- configure.in	22 Apr 2005 17:17:25 -0000	1.8
> +++ configure.in	17 Jun 2005 20:05:28 -0000
> @@ -19,6 +19,23 @@ AC_PROG_INSTALL
>  AC_PROG_RANLIB
>  AC_PATH_BLUEZ
>  
> +AC_TRY_COMPILE([
> +	#include <bluetooth/bluetooth.h>
> +	#include <sys/socket.h>
> +	#include <bluetooth/hci.h>
> +	#include <bluetooth/hci_lib.h>
> +	],[
> +	bdaddr_t *addr;
> +	int dd = 0;
> +	int role = 0;
> +	int to = 0;
> +	hci_switch_role(dd, addr, role, to);
> +	],HAVE_HCI_SWITCH_ROLE=yes,HAVE_HCI_SWITCH_ROLE=no)
> +
> +if test x$HAVE_HCI_SWITCH_ROLE != xyes; then
> +	AC_DEFINE(HAVE_NO_HCI_SWITCH_ROLE, 1, [defined if hci_switch_role is broken])
> +fi
> +
>  AM_PATH_ALSA(1.0.3)
>  
>  XIPH_PATH_AO
> Index: kernel/Makefile
> ===================================================================
> RCS file: /cvsroot/bluetooth-alsa/btsco/kernel/Makefile,v
> retrieving revision 1.3
> diff -u -p -r1.3 Makefile
> --- kernel/Makefile	23 Jan 2005 06:23:02 -0000	1.3
> +++ kernel/Makefile	17 Jun 2005 20:05:28 -0000
> @@ -10,10 +10,10 @@ endif
>  
>  
>  default:
> -	@make -C /lib/modules/`uname -r`/source M=`pwd` modules
> +	@make -C /lib/modules/`uname -r`/build M=`pwd` modules
>  
>  install:
> -	@make -C /lib/modules/`uname -r`/source M=`pwd` modules_install
> +	@make -C /lib/modules/`uname -r`/build M=`pwd` modules_install
>  
>  clean:
> -	@make -C /lib/modules/`uname -r`/source M=`pwd` clean
> +	@make -C /lib/modules/`uname -r`/build M=`pwd` clean


-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Bluez-devel] Re: GCC-4 Patch for btsco
  2005-06-17 20:49             ` Brad Midgley
@ 2005-06-17 21:26               ` Bastien Nocera
  0 siblings, 0 replies; 11+ messages in thread
From: Bastien Nocera @ 2005-06-17 21:26 UTC (permalink / raw)
  To: Brad Midgley; +Cc: bluez-devel

On Fri, 2005-06-17 at 14:49 -0600, Brad Midgley wrote:
> thanks, applied. will show up in the anon tree shortly.

Excellent, thanks very much.

---
Bastien Nocera <hadess@hadess.net> 




-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2005-06-17 21:26 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-06-17 10:05 [Bluez-devel] GCC-4 Patch for btsco Bastien Nocera
2005-06-17 10:23 ` Marcel Holtmann
2005-06-17 10:51   ` [Bluez-devel] " Bastien Nocera
2005-06-17 11:05     ` Marcel Holtmann
2005-06-17 11:33       ` Bastien Nocera
2005-06-17 13:31         ` Brad Midgley
2005-06-17 20:11           ` Bastien Nocera
2005-06-17 20:49             ` Brad Midgley
2005-06-17 21:26               ` Bastien Nocera
2005-06-17 18:45         ` Brad Midgley
2005-06-17 18:49           ` Luiz Fernando Capitulino

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.