Return-Path: Message-ID: Date: Wed, 4 Apr 2007 08:30:32 +0100 From: "Meenakshi Seeballack" To: bluez-devel@lists.sourceforge.net MIME-Version: 1.0 Subject: Re: [Bluez-devel] L2CAP sockets, SDP Reply-To: BlueZ development List-Id: BlueZ development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: multipart/mixed; boundary="===============0114168273==" Sender: bluez-devel-bounces@lists.sourceforge.net Errors-To: bluez-devel-bounces@lists.sourceforge.net --===============0114168273== Content-Type: multipart/alternative; boundary="----=_Part_20601_5211418.1175671832962" ------=_Part_20601_5211418.1175671832962 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline hello, I did not think I needed to use D-Bus with SDP and L2CAP. Would someone please provide me more information on how the SDP sends data with L2CAP as the transport layer? Or point me to a direction where I can find the information? Thanks in advance Meena --------------------------------------------- On 03/04/07, bluez-devel-request@lists.sourceforge.net < bluez-devel-request@lists.sourceforge.net> wrote: > > Send Bluez-devel mailing list submissions to > bluez-devel@lists.sourceforge.net > > To subscribe or unsubscribe via the World Wide Web, visit > https://lists.sourceforge.net/lists/listinfo/bluez-devel > or, via email, send a message with subject or body 'help' to > bluez-devel-request@lists.sourceforge.net > > You can reach the person managing the list at > bluez-devel-owner@lists.sourceforge.net > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of Bluez-devel digest..." > > > Today's Topics: > > 1. Re: L2CAP sockets, SDP (Claudio Takahasi) > 2. Re: problems with getting Plan tronics M1000 to pair on > Ubuntu system (Brad Midgley) > 3. Re: RemoteNameRequested signal during discovery patch > (Marcel Holtmann) > 4. used (chips) > 5. Re: new sco flowcontrol patch (Brad Midgley) > 6. Re: new sco flowcontrol patch (Marcel Holtmann) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Tue, 3 Apr 2007 09:10:44 -0300 > From: "Claudio Takahasi" > Subject: Re: [Bluez-devel] L2CAP sockets, SDP > To: "BlueZ development" > Message-ID: > > Content-Type: text/plain; charset=ISO-8859-1; format=flowed > > On 4/3/07, Meenakshi Seeballack wrote: > > Hello, > > I have tried to understand how to open an L2CAP socket, and have used > the > > BlueZ API. This is what I have got so far: > > /* > > * l2cap_listen(l2cap_channel) > > * Use this channel as a listening post > > */ > > static int l2cap_listen(const bdaddr_t *bdaddr, unsigned short psm, int > lm, > > int backlog) > > { > > struct sockaddr_l2 addr; > > struct l2cap_options opts; > > int sk; > > > > /* allocate a free socket */ > > if ((sk = socket(PF_BLUETOOTH, SOCK_SEQPACKET, BTPROTO_L2CAP)) < 0) > > return -1; > > > > /* open connection to remote device */ > > memset(&addr, 0, sizeof(addr)); > > addr.l2_family = AF_BLUETOOTH; > > bacpy(&addr.l2_bdaddr, bdaddr); /* update source address of socket > */ > > addr.l2_psm = htobs(psm); > > > > /* bind socket to newly formed socket */ > > if (bind(sk, (struct sockaddr *) &addr, sizeof(addr)) < 0) { > > perror("ERROR: Could not bind socket"); > > close(sk); > > return -1; > > } > > > > setsockopt(sk, SOL_L2CAP, L2CAP_LM, &lm, sizeof(lm)); > > > > memset(&opts, 0, sizeof(opts)); > > opts.imtu = HIDP_DEFAULT_MTU; > > opts.omtu = HIDP_DEFAULT_MTU; > > opts.flush_to = 0xffff; > > > > setsockopt(sk, SOL_L2CAP, L2CAP_OPTIONS, &opts, sizeof(opts)); > > > > /* backlog: specifies the number of unaccepted connection > > * that the system will allow before refusing new connections > > */ > > if (listen(sk, backlog) < 0) { > > close(sk); > > return -1; > > } > > > > return sk; > > } > > > > /* > > * l2cap_connect_req() > > * Establishes connection with specific socket > > * Request to establish connection from remote > > * communication partner. > > * Such a socket has to have been previously created > > * by an application with the command listen. > > */ > > static int l2cap_connect(bdaddr_t *src, bdaddr_t *dst, unsigned short > psm) > > { > > struct sockaddr_l2 addr; > > struct l2cap_options opts; > > int sk; > > > > /* socket allocation */ > > if ((sk = socket(PF_BLUETOOTH, SOCK_SEQPACKET, BTPROTO_L2CAP)) < 0) > > perror("ERROR: Could not create socket"); > > return -1; > > > > memset(&addr, 0, sizeof(addr)); > > addr.l2_family = AF_BLUETOOTH; > > bacpy(&addr.l2_bdaddr, src); /*update source address of socket */ > > > > /* binds socket to psm */ > > if (bind(sk, (struct sockaddr *) &addr, sizeof(addr)) < 0) { > > close(sk); > > return -1; > > } > > > > memset(&opts, 0, sizeof(opts)); > > opts.imtu = HIDP_DEFAULT_MTU; > > opts.omtu = HIDP_DEFAULT_MTU; > > opts.flush_to = 0xffff; > > > > setsockopt(sk, SOL_L2CAP, L2CAP_OPTIONS, &opts, sizeof(opts)); > > > > memset(&addr, 0, sizeof(addr)); > > addr.l2_family = AF_BLUETOOTH; > > bacpy(&addr.l2_bdaddr, dst); > > addr.l2_psm = htobs(psm); > > > > if (connect(sk, (struct sockaddr *) &addr, sizeof(addr)) < 0) { > > close(sk); > > return -1; > > } > > > > return sk; > > } > > > > /* > > * l2cap_accept() > > * (Permits incoming connection) > > * Blocks and accepts incoming connection > > * Function switches from BT_LISTEN to BT_CONNECTED > > */ > > static int l2cap_accept(int sk, bdaddr_t *bdaddr) > > { > > struct sockaddr_l2 addr; > > socklen_t addrlen; > > int nsk; > > > > memset(&addr, 0, sizeof(addr)); > > addrlen = sizeof(addr); > > > > // accept one connection > > if ((nsk = accept(sk, (struct sockaddr *) &addr, &addrlen)) < 0) > > return -1; > > > > if (bdaddr) > > bacpy(bdaddr, &addr.l2_bdaddr); > > > > return nsk; > > } > > -------------------- > > I am eventually aiming to register the mouse HID events, and send it via > the > > L2CAP socket to "control" another bluetooth-enabled PC. > > How do I use an SDP service in conjunction with the existing L2CAP code? > How > > do I use the control channel (L2CAP_PSM_HIDP_CTRL 0x11) and the > interrupt > > channel (L2CAP_PSM_HIDP_INTR 0x13) > > I think the control channel is used by SDP for signalling, (device > > discovery); the interrupt channel is used for data transfer (service > > discovery) > > Thanks in advance for any help! > > > > > > > ------------------------------------------------------------------------- > > Take Surveys. Earn Cash. Influence the Future of IT > > Join SourceForge.net's Techsay panel and you'll get the chance to share > your > > opinions on IT & business topics through brief surveys-and earn cash > > > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > _______________________________________________ > > Bluez-devel mailing list > > Bluez-devel@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/bluez-devel > > > > > > Hi Meenakshi, > > Check the D-Bus Input service implementation: utils/input > It contains the code that you want. > > BR, > Claudio. > -- > --------------------------------------------------------- > Claudio Takahasi > Instituto Nokia de Tecnologia - INdT > > > > ------------------------------ > > Message: 2 > Date: Tue, 03 Apr 2007 11:21:34 -0600 > From: Brad Midgley > Subject: Re: [Bluez-devel] problems with getting Plan tronics M1000 to > pair on Ubuntu system > To: BlueZ development > Message-ID: <46128D1E.2050609@xmission.com> > Content-Type: text/plain; charset=ISO-8859-1; format=flowed > > Brett > > > I tried pairing and then tried a connect - do I have a PIN issue? > > i got something similar when bluez-passkey-gnome needed to be installed > > brad > > > > > ------------------------------ > > Message: 3 > Date: Tue, 03 Apr 2007 21:05:56 +0200 > From: Marcel Holtmann > Subject: Re: [Bluez-devel] RemoteNameRequested signal during discovery > patch > To: BlueZ development > Message-ID: <1175627156.5815.402.camel@violet> > Content-Type: text/plain > > Hi Johan, > > > > > A new version of the patch. > > > > Are you okay with it ? > > > > > > the patch looks okay to me. However I prefer if Claudio or Johan can > > > have an additional look. > > > > Looks good to me. > > feel free to commit it to the CVS then. > > Regards > > Marcel > > > > > > ------------------------------ > > Message: 4 > Date: Tue, 3 Apr 2007 21:16:43 -0000 > From: "chips" > Subject: [Bluez-devel] used > To: bluez-devel@lists.sourceforge.net > Message-ID: <001201c77635$61395500$86572f97@davide10> > Content-Type: text/plain; charset="iso-8859-1" > > Choices multiple, mak management service kms activates. Conflict vistaiam > school students. > Comments seis office, you need read. > Help, links by xpearlier, for pcsshared computer. Megatest fastest, modems > revealed gps navigation, get from no. > Word priced hungery crap, anonymous sucksdidnt say blue. > Connecting computers going online. Thread subject author algo, de, > slackware hay una que. Someone bringing their home, installing leaving > again. > Re newest greg mar kentucky sorta looked. > Officially than, chips awful stick check. Certainly looks, set put. > Students finally gone mad beyond bull shit apart high? > Hunter blogs linux amp, open source news! Able as welland pieces? Tito, > sites sport finance music. > Wed, feb previous, message, messages. > Groups direct phone, connection. > Vbulletin copyright jelsoft scheduled. Hmmm wonder willhmmm, big higher > normal reinstall rates like. Used anything another call moment able as. > Worth trouble sysprep xml file hard. > Its world server macs. > Imminent arrival business enterprise, additions, dropped nasty little. > -------------- next part -------------- > An HTML attachment was scrubbed... > -------------- next part -------------- > A non-text attachment was scrubbed... > Name: not available > Type: image/gif > Size: 4634 bytes > Desc: not available > > ------------------------------ > > Message: 5 > Date: Tue, 03 Apr 2007 15:04:29 -0600 > From: Brad Midgley > Subject: Re: [Bluez-devel] new sco flowcontrol patch > To: BlueZ development > Message-ID: <4612C15D.2080900@xmission.com> > Content-Type: text/plain; charset=ISO-8859-1; format=flowed > > Marcel > > > And why do we have to do "c->tx_timer.function = hci_sco_tx_timer" over > > and over again. Isn't it enough if we set the timer function once after > > init of the timer. > > should this happen directly inside hci_conn.c or through something like > a notification? > > To use it in hci_conn I'd want to move the definition of the function > there too but that may not be the right fit. > > Brad > > > > > > > ------------------------------ > > Message: 6 > Date: Tue, 03 Apr 2007 23:08:47 +0200 > From: Marcel Holtmann > Subject: Re: [Bluez-devel] new sco flowcontrol patch > To: BlueZ development > Message-ID: <1175634527.5815.409.camel@violet> > Content-Type: text/plain > > Hi Brad, > > > > And why do we have to do "c->tx_timer.function = hci_sco_tx_timer" > over > > > and over again. Isn't it enough if we set the timer function once > after > > > init of the timer. > > > > should this happen directly inside hci_conn.c or through something like > > a notification? > > > > To use it in hci_conn I'd want to move the definition of the function > > there too but that may not be the right fit. > > actually hci_sco_tx_timer() should be in hci_conn.c. There is no need to > put that into hci_core.c and make this so complex. > > Regards > > Marcel > > > > > > ------------------------------ > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share > your > opinions on IT & business topics through brief surveys-and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > ------------------------------ > > _______________________________________________ > Bluez-devel mailing list > Bluez-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/bluez-devel > > > End of Bluez-devel Digest, Vol 12, Issue 9 > ****************************************** > ------=_Part_20601_5211418.1175671832962 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline hello, I did not think I needed to use D-Bus with SDP and L2CAP.
Would someone please provide me more information on how the SDP sends data with L2CAP as the transport layer?
Or point me to a direction where I can find the information?
Thanks in advance
Meena
---------------------------------------------

On 03/04/07, bluez-devel-request@lists.sourceforge.net <bluez-devel-request@lists.sourceforge.net> wrote:
Send Bluez-devel mailing list submissions to
        bluez-devel@lists.sourceforge.net

To subscribe or unsubscribe via the World Wide Web, visit
         https://lists.sourceforge.net/lists/listinfo/bluez-devel
or, via email, send a message with subject or body 'help' to
         bluez-devel-request@lists.sourceforge.net

You can reach the person managing the list at
        bluez-devel-owner@lists.sourceforge.net

When replying, please edit your Subject line so it is more specific
than "Re: Contents of Bluez-devel digest..."


Today's Topics:

   1. Re: L2CAP sockets, SDP (Claudio Takahasi)
   2. Re: problems with getting Plan tronics M1000 to pair on
      Ubuntu system (Brad Midgley)
   3. Re: RemoteNameRequested signal during discovery patch
      (Marcel Holtmann)
   4. used (chips)
   5. Re: new sco flowcontrol patch (Brad Midgley)
   6. Re: new sco flowcontrol patch (Marcel Holtmann)


----------------------------------------------------------------------

Message: 1
Date: Tue, 3 Apr 2007 09:10:44 -0300
From: "Claudio Takahasi" < cktakahasi@gmail.com>
Subject: Re: [Bluez-devel] L2CAP sockets, SDP
To: "BlueZ development" <bluez-devel@lists.sourceforge.net>
Message-ID:
        <e1effdeb0704030510q3f0e271ej2a94e270f35475eb@mail.gmail.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed

On 4/3/07, Meenakshi Seeballack <meena2010@gmail.com> wrote:
> Hello,
> I have tried to understand how to open an L2CAP socket, and have used the
> BlueZ API. This is what I have got so far:
> /*
>  * l2cap_listen(l2cap_channel)
>  * Use this channel as a listening post
>  */
> static int l2cap_listen(const bdaddr_t *bdaddr, unsigned short psm, int lm,
> int backlog)
> {
>     struct sockaddr_l2 addr;
>     struct l2cap_options opts;
>     int sk;
>
>     /* allocate a free socket */
>     if ((sk = socket(PF_BLUETOOTH, SOCK_SEQPACKET, BTPROTO_L2CAP)) < 0)
>         return -1;
>
>     /* open connection to remote device */
>     memset(&addr, 0, sizeof(addr));
>     addr.l2_family = AF_BLUETOOTH;
>     bacpy(&addr.l2_bdaddr, bdaddr); /* update source address of socket */
>     addr.l2_psm = htobs(psm);
>
>     /* bind socket to newly formed socket */
>     if (bind(sk, (struct sockaddr *) &addr, sizeof(addr)) < 0) {
>         perror("ERROR: Could not bind socket");
>         close(sk);
>         return -1;
>     }
>
>     setsockopt(sk, SOL_L2CAP, L2CAP_LM, &lm, sizeof(lm));
>
>     memset(&opts, 0, sizeof(opts));
>     opts.imtu = HIDP_DEFAULT_MTU;
>     opts.omtu = HIDP_DEFAULT_MTU;
>     opts.flush_to = 0xffff;
>
>     setsockopt(sk, SOL_L2CAP, L2CAP_OPTIONS, &opts, sizeof(opts));
>
>     /* backlog: specifies the number of unaccepted connection
>      * that the system will allow before refusing new connections
>      */
>     if (listen(sk, backlog) < 0) {
>         close(sk);
>         return -1;
>     }
>
>     return sk;
> }
>
> /*
>  * l2cap_connect_req()
>  * Establishes connection with specific socket
>   * Request to establish connection from remote
>  * communication partner.
>  * Such a socket has to have been previously created
>  * by an application with the command listen.
>  */
> static int l2cap_connect(bdaddr_t *src, bdaddr_t *dst, unsigned short psm)
> {
>     struct sockaddr_l2 addr;
>     struct l2cap_options opts;
>     int sk;
>
>     /* socket allocation */
>     if ((sk = socket(PF_BLUETOOTH, SOCK_SEQPACKET, BTPROTO_L2CAP)) < 0)
>         perror("ERROR: Could not create socket");
>         return -1;
>
>     memset(&addr, 0, sizeof(addr));
>     addr.l2_family  = AF_BLUETOOTH;
>     bacpy(&addr.l2_bdaddr, src); /*update source address of socket */
>
>     /* binds socket to psm */
>     if (bind(sk, (struct sockaddr *) &addr, sizeof(addr)) < 0) {
>         close(sk);
>         return -1;
>     }
>
>     memset(&opts, 0, sizeof(opts));
>     opts.imtu = HIDP_DEFAULT_MTU;
>     opts.omtu = HIDP_DEFAULT_MTU;
>     opts.flush_to = 0xffff;
>
>     setsockopt(sk, SOL_L2CAP, L2CAP_OPTIONS, &opts, sizeof(opts));
>
>     memset(&addr, 0, sizeof(addr));
>     addr.l2_family  = AF_BLUETOOTH;
>     bacpy(&addr.l2_bdaddr, dst);
>     addr.l2_psm = htobs(psm);
>
>     if (connect(sk, (struct sockaddr *) &addr, sizeof(addr)) < 0) {
>         close(sk);
>         return -1;
>     }
>
>     return sk;
> }
>
> /*
>  * l2cap_accept()
>  * (Permits incoming connection)
>  * Blocks and accepts incoming connection
>  * Function switches from BT_LISTEN to BT_CONNECTED
>  */
> static int l2cap_accept(int sk, bdaddr_t *bdaddr)
> {
>     struct sockaddr_l2 addr;
>     socklen_t addrlen;
>     int nsk;
>
>     memset(&addr, 0, sizeof(addr));
>     addrlen = sizeof(addr);
>
>     // accept one connection
>     if ((nsk = accept(sk, (struct sockaddr *) &addr, &addrlen)) < 0)
>         return -1;
>
>     if (bdaddr)
>         bacpy(bdaddr, &addr.l2_bdaddr);
>
>     return nsk;
> }
> --------------------
> I am eventually aiming to register the mouse HID events, and send it via the
> L2CAP socket to "control" another bluetooth-enabled PC.
> How do I use an SDP service in conjunction with the existing L2CAP code? How
> do I use the control channel (L2CAP_PSM_HIDP_CTRL 0x11) and the interrupt
> channel (L2CAP_PSM_HIDP_INTR 0x13)
> I think the control channel is used by SDP for signalling, (device
> discovery); the interrupt channel is used for data transfer (service
> discovery)
> Thanks in advance for any help!
>
>
> -------------------------------------------------------------------------
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to share your
> opinions on IT & business topics through brief surveys-and earn cash
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> _______________________________________________
> Bluez-devel mailing list
> Bluez-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bluez-devel
>
>

Hi Meenakshi,

Check the D-Bus Input service implementation: utils/input
It contains the code that you want.

BR,
Claudio.
--
---------------------------------------------------------
Claudio Takahasi
Instituto Nokia de Tecnologia - INdT



------------------------------

Message: 2
Date: Tue, 03 Apr 2007 11:21:34 -0600
From: Brad Midgley <bmidgley@xmission.com>
Subject: Re: [Bluez-devel] problems with getting Plan tronics M1000 to
        pair on Ubuntu system
To: BlueZ development < bluez-devel@lists.sourceforge.net>
Message-ID: <46128D1E.2050609@xmission.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed

Brett

> I tried pairing and then tried a connect - do I have a PIN issue?

i got something similar when bluez-passkey-gnome needed to be installed

brad




------------------------------

Message: 3
Date: Tue, 03 Apr 2007 21:05:56 +0200
From: Marcel Holtmann <marcel@holtmann.org>
Subject: Re: [Bluez-devel] RemoteNameRequested signal during discovery
        patch
To: BlueZ development <bluez-devel@lists.sourceforge.net>
Message-ID: <1175627156.5815.402.camel@violet>
Content-Type: text/plain

Hi Johan,

> > > A new version of the patch.
> > > Are you okay with it ?
> >
> > the patch looks okay to me. However I prefer if Claudio or Johan can
> > have an additional look.
>
> Looks good to me.

feel free to commit it to the CVS then.

Regards

Marcel





------------------------------

Message: 4
Date: Tue, 3 Apr 2007 21:16:43 -0000
From: "chips" <Jul@pbpfab.com>
Subject: [Bluez-devel] used
To: bluez-devel@lists.sourceforge.net
Message-ID: < 001201c77635$61395500$86572f97@davide10>
Content-Type: text/plain; charset="iso-8859-1"

Choices multiple, mak management service kms activates. Conflict vistaiam school students.
Comments seis office, you need read.
Help, links by xpearlier, for pcsshared computer. Megatest fastest, modems revealed gps navigation, get from no.
Word priced hungery crap, anonymous sucksdidnt say blue.
Connecting computers going online. Thread subject author algo, de, slackware hay una que. Someone bringing their home, installing leaving again.
Re newest greg mar kentucky sorta looked.
Officially than, chips awful stick check. Certainly looks, set put. Students finally gone mad beyond bull shit apart high?
Hunter blogs linux amp, open source news! Able as welland pieces? Tito, sites sport finance music.
Wed, feb previous, message, messages.
Groups direct phone, connection.
Vbulletin copyright jelsoft scheduled. Hmmm wonder willhmmm, big higher normal reinstall rates like. Used anything another call moment able as.
Worth trouble sysprep xml file hard.
Its world server macs.
Imminent arrival business enterprise, additions, dropped nasty little.
-------------- next part --------------
An HTML attachment was scrubbed...
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/gif
Size: 4634 bytes
Desc: not available

------------------------------

Message: 5
Date: Tue, 03 Apr 2007 15:04:29 -0600
From: Brad Midgley <bmidgley@xmission.com>
Subject: Re: [Bluez-devel] new sco flowcontrol patch
To: BlueZ development < bluez-devel@lists.sourceforge.net>
Message-ID: <4612C15D.2080900@xmission.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed

Marcel

> And why do we have to do "c->tx_timer.function = hci_sco_tx_timer" over
> and over again. Isn't it enough if we set the timer function once after
> init of the timer.

should this happen directly inside hci_conn.c or through something like
a notification?

To use it in hci_conn I'd want to move the definition of the function
there too but that may not be the right fit.

Brad






------------------------------

Message: 6
Date: Tue, 03 Apr 2007 23:08:47 +0200
From: Marcel Holtmann <marcel@holtmann.org>
Subject: Re: [Bluez-devel] new sco flowcontrol patch
To: BlueZ development <bluez-devel@lists.sourceforge.net>
Message-ID: <1175634527.5815.409.camel@violet >
Content-Type: text/plain

Hi Brad,

> > And why do we have to do "c->tx_timer.function = hci_sco_tx_timer" over
> > and over again. Isn't it enough if we set the timer function once after
> > init of the timer.
>
> should this happen directly inside hci_conn.c or through something like
> a notification?
>
> To use it in hci_conn I'd want to move the definition of the function
> there too but that may not be the right fit.

actually hci_sco_tx_timer() should be in hci_conn.c. There is no need to
put that into hci_core.c and make this so complex.

Regards

Marcel





------------------------------

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV

------------------------------

_______________________________________________
Bluez-devel mailing list
Bluez-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-devel


End of Bluez-devel Digest, Vol 12, Issue 9
******************************************

------=_Part_20601_5211418.1175671832962-- --===============0114168273== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV --===============0114168273== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Bluez-devel mailing list Bluez-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bluez-devel --===============0114168273==--