haiku/docs/develop/busses/bluetooth/overview.md
Augustin Cavalier 18a8edbf0e docs/develop: More reorganization.
* There is now a 'busses' folder, and the extant USB/SDHCI/Bluetooth/etc.
   docs now live in it, instead of various other places.
 * kernel/ports is now kernel/arch, like it is in src/system.
   SPARC documentation is now in there, too.
 * VM files (these are rather outdated) are now in kernel/vm.
 * SCSI ASC info removed, this is easily available online and
   it doesn't seem to be very relevant.
2019-03-30 18:00:46 -04:00

1.4 KiB

(Copied mostly from http://urnenfeld.blogspot.de/2012/07/in-past-i-got-to-know-that-motivation.html)

L2cap under network/protocols/l2cap: Provides socket interface to have l2cap channels. L2CAP offers connection oriented and connectionless sockets. But bluetooth stack as this point has no interchangeability with TCP/IP, A Higher level Bluetooth profile must be implemented

HCI under src/add-ons/kernel/bluetooth: Here we have 2 modules, one for handling global bluetooth data structures such as connection handles and L2cap channels, and frames

H2generic under src/add-ons/kernel/drivers/bluetooth: The USB driver, implementing the H2 transport.

Bluetooth kit under src/kit/bluetooth: C++ implementation based on JSR82 api.

Bluetooth Server under src/servers/bluetooth: Basically handling opened devices (local connected fisically in our system) and forwaring kit calls to them.

Bluetooth Preferences under src/preferences/bluetooth: Configuration using the kit

Test applications under src/tests/kits/bluetooth.

There is a small prototype component which is not here documented below src/add-ons/bluetooth/ResetLocalDevice. Its intention was to be an add-on of bluetooth preferences, So that new HCI commands could be customized by users or external developers. I did not like at the end the idea, I did not find the flexibility I wanted.