blob: 45197d9ba11be8280c23a0cb19fcddcb373eca09 [file] [log] [blame] [view]
# Bluetooth Source Layout
The [Bluetooth System](/docs/concepts/networking/bluetooth_architecture.md)
comprises many components, such as drivers, profiles, and client
applications. This document provides an overview of where the various components
live in the source tree.
<!--
This was generated by running
$ (find . -name BUILD.gn -o -name rules.mk | egrep 'bt|bluetooth';
find . -name BUILD.gn | xargs grep -l 'fidl:bluetooth') \
| sort | uniq
And then culling and annotating by hand.
-->
```
src/connectivity/bluetooth/
core/
bt-gap/ # GAP daemon
bt-host/ # bt-host driver and host subsystem
bt-init/ # Bluetooth subsystem launcher
examples/ # various LE API examples
hci/ # bt-hci drivers
lib/ # protocol and rust utility libraries
profiles/ # profile components (A2DP, AVRCP, HID over GATT, etc)
tests/ # integration tests
tools/ # command-line tools and debug components
sdk/fidl/fuchsia.bluetooth.* # public API
topaz/bin/bluetooth_settings/ # Bluetooth Settings UI
topaz/examples/eddystone_agent/ # [Eddystone](https://github.com/google/eddystone)-based trigger
src/connectivity/bluetooth/drivers/ # bt-transport drivers
```
See the [HCI section of the Bluetooth System document](/docs/concepts/networking/bluetooth_architecture.md#hci) for an explanation of how the drivers, such as `bt-transport`, `bt-hci`, and `bt-host`, relate to each other.
See the [Host Bus section of the Bluetooth System document](/docs/concepts/networking/bluetooth_architecture.md#host-bus) for more detail on bt-host.