Skip to contentSkip to conversation

L2CAP and SDP interface specification?

Bluez-devel Stefan Mischke 2 participants 4 messages Apr 5, 2004 – Apr 7, 2004 Bluetooth drivers

lore
Share & tools
lore
#0 lore raw

Hello,

where can I find the specification of the BlueZ L2CAP and SDP API? I hope there ist any. And how can I register my application for getting HCI events, so that I don't have to poll? hcid? API/specs?

Thanks!

Stefan

-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

maintainer
#1 lore raw

Hi Stefan,

Quoted 2 lines

where can I find the specification of the BlueZ L2CAP and SDP API? I hope there ist any.

the L2CAP API is a socket interface and you will find the API in the bluetooth/l2cap.h header file. For an usage example look at l2test.

The SDP API can be found in bluetooth/sdp.h and bluetooth/sdp_lib.h and for example code look at the dund and pand applications.

Quoted 2 lines

And how can I register my application for getting HCI events, so that I don't have to poll? hcid? API/specs?

The HCI API is also a socket interface. If you want to have some kind of event based approach you have to use and IO event main loop like it is used in the Glib.

Regards

Marcel

-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

#2 lore raw

Hi Marcel,

in your "btk2003_slides.pdf" (very nice) you say on page 13 "C/C++ API für Kommandos und Events". Where is it? I can send commands easily via the bluez-libs' "hci_send_cmd", but how do I get the result/event? Ok, I could use "hci_send_req", but that function blocks until timeout. Isn't there a simple way to use "hci_send_cmd" and register some kind of callback for the result/event? Isn't bluetooth devices interrupt-driven? If not, isn't there some kind of global polling and event dispatching instance? I thought it was the hcid.

By "Glib" you mean "glib-ectomy.c" of hcid? In it's main loop it does "rc = poll(ufds, nfds, -1);". Does it wait/block forever for an event or what does "-1" mean? Btw, what's hcid for (except for initializing the device and giving it a name)?

I'm coming from the Windows realm and therefore, I'm not so familiar with Linux programming. Sorry for the stupid questions. ;-)

Thanks,
Stefan

Marcel Holtmann schrieb:
Hi Stefan, where can I find the specification of the BlueZ L2CAP and SDP API? I hope there ist any.

maintainer
#3 lore raw

Hi Stefen,

Quoted 2 lines

in your "btk2003_slides.pdf" (very nice) you say on page 13 "C/C++ API f=FCr Kommandos und Events". Where is it? I can send commands easily vi=

a

Quoted 6 lines

the bluez-libs' "hci_send_cmd", but how do I get the result/event? Ok, I could use "hci_send_req", but that function blocks until timeout. Isn't there a simple way to use "hci_send_cmd" and register some kind of callback for the result/event? Isn't bluetooth devices interrupt-driven? If not, isn't there some kind of global polling and event dispatching instance? I thought it was the hcid.

you can poll on the HCI socket and of course you can also use the HCI filter to look only for specific events.

Quoted 4 lines

By "Glib" you mean "glib-ectomy.c" of hcid? In it's main loop it does "rc =3D poll(ufds, nfds, -1);". Does it wait/block forever for an event or what does "-1" mean? Btw, what's hcid for (except for initializing the device and giving it a name)?=20

I meant Glib (www.gtk.org) and the hcid is for device initialization and it contains the security manager. And btw try "man poll" ;)

Regards

Marcel

-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel