关联漏洞
标题:
Google Android 缓冲区错误漏洞
(CVE-2021-0431)
描述:Google Android是美国~谷歌~开放手持设备联盟(Google)的的一套以Linux为基础的开源操作系统。System是其中的一个系统组件。 Google Android 11存在安全漏洞,以下产品及版本受到影响:Google Android 11 中的System 8.1, 9, 10, 11之前版本。
介绍
# Fluoride Bluetooth stack
## Building and running on AOSP
Just build AOSP - Fluoride is there by default.
## Building and running on Linux
Instructions for Ubuntu, tested on 14.04 with Clang 3.5.0 and 16.10 with Clang
3.8.0
### Download source
```sh
mkdir ~/fluoride
cd ~/fluoride
git clone https://android.googlesource.com/platform/system/bt
```
Install dependencies (require sudo access):
```sh
cd ~/fluoride/bt
build/install_deps.sh
```
Then fetch third party dependencies:
```sh
cd ~/fluoride/bt
mkdir third_party
cd third_party
git clone https://github.com/google/googletest.git
git clone https://android.googlesource.com/platform/external/aac
git clone https://android.googlesource.com/platform/external/libchrome
git clone https://android.googlesource.com/platform/external/libldac
git clone https://android.googlesource.com/platform/external/modp_b64
git clone https://android.googlesource.com/platform/external/tinyxml2
```
And third party dependencies of third party dependencies:
```sh
cd fluoride/bt/third_party/libchrome/base/third_party
mkdir valgrind
cd valgrind
curl https://chromium.googlesource.com/chromium/src/base/+/master/third_party/valgrind/valgrind.h?format=TEXT | base64 -d > valgrind.h
curl https://chromium.googlesource.com/chromium/src/base/+/master/third_party/valgrind/memcheck.h?format=TEXT | base64 -d > memcheck.h
```
NOTE: If system/bt is checked out under AOSP, then create symbolic links instead
of downloading sources
```
cd system/bt
mkdir third_party
cd third_party
ln -s ../../../external/aac aac
ln -s ../../../external/libchrome libchrome
ln -s ../../../external/libldac libldac
ln -s ../../../external/modp_b64 modp_b64
ln -s ../../../external/tinyxml2 tinyxml2
ln -s ../../../external/googletest googletest
```
### Generate your build files
```sh
cd ~/fluoride/bt
gn gen out/Default
```
### Build
```sh
cd ~/fluoride/bt
ninja -C out/Default all
```
This will build all targets (the shared library, executables, tests, etc) and
put them in out/Default. To build an individual target, replace "all" with the
target of your choice, e.g. ```ninja -C out/Default net_test_osi```.
### Run
```sh
cd ~/fluoride/bt/out/Default
LD_LIBRARY_PATH=./ ./bluetoothtbd -create-ipc-socket=fluoride
```
### Eclipse IDE Support
1. Follows the Chromium project
[Eclipse Setup Instructions](https://chromium.googlesource.com/chromium/src/+/master/docs/linux_eclipse_dev.md)
until "Optional: Building inside Eclipse" section (don't do that section, we
will set it up differently)
2. Generate Eclipse settings:
```sh
cd system/bt
gn gen --ide=eclipse out/Default
```
3. In Eclipse, do File->Import->C/C++->C/C++ Project Settings, choose the XML
location under system/bt/out/Default
4. Right click on the project. Go to Preferences->C/C++ Build->Builder Settings.
Uncheck "Use default build command", but instead using "ninja -C out/Default"
5. Goto Behaviour tab, change clean command to "-t clean"
文件快照
[4.0K] /data/pocs/d044edcba944b98735a14ac42779946472714a01
├── [ 502] Android.bp
├── [1.7K] AndroidTestTemplate.xml
├── [4.0K] audio_a2dp_hw
│ ├── [1.2K] Android.bp
│ ├── [4.0K] include
│ │ └── [6.2K] audio_a2dp_hw.h
│ ├── [4.0K] src
│ │ ├── [ 60K] audio_a2dp_hw.cc
│ │ └── [1.6K] audio_a2dp_hw_utils.cc
│ └── [4.0K] test
│ └── [5.0K] audio_a2dp_hw_test.cc
├── [4.0K] audio_bluetooth_hw
│ ├── [1.0K] Android.bp
│ ├── [4.4K] audio_bluetooth_hw.cc
│ ├── [ 18K] device_port_proxy.cc
│ ├── [4.0K] device_port_proxy.h
│ ├── [ 27K] stream_apis.cc
│ ├── [3.1K] stream_apis.h
│ ├── [1.8K] utils.cc
│ ├── [1.7K] utils.h
│ └── [3.5K] utils_unittest.cc
├── [4.0K] audio_hal_interface
│ ├── [ 27K] a2dp_encoding.cc
│ ├── [1.5K] a2dp_encoding.h
│ ├── [1.4K] Android.bp
│ ├── [ 18K] client_interface.cc
│ ├── [6.2K] client_interface.h
│ ├── [ 21K] client_interface_unittest.cc
│ ├── [8.1K] hearing_aid_software_encoding.cc
│ └── [1.4K] hearing_aid_software_encoding.h
├── [4.0K] audio_hearing_aid_hw
│ ├── [1.2K] Android.bp
│ ├── [4.0K] include
│ │ └── [6.1K] audio_hearing_aid_hw.h
│ ├── [4.0K] src
│ │ ├── [ 57K] audio_hearing_aid_hw.cc
│ │ └── [1.5K] audio_hearing_aid_hw_utils.cc
│ └── [4.0K] test
│ └── [5.1K] audio_hearing_aid_hw_test.cc
├── [4.0K] binder
│ ├── [4.0K] android
│ │ ├── [4.0K] bluetooth
│ │ │ ├── [ 685] BluetoothActivityEnergyInfo.aidl
│ │ │ ├── [ 678] BluetoothAudioConfig.aidl
│ │ │ ├── [ 686] BluetoothAvrcpPlayerSettings.aidl
│ │ │ ├── [ 676] BluetoothClass.aidl
│ │ │ ├── [ 678] BluetoothCodecConfig.aidl
│ │ │ ├── [ 678] BluetoothCodecStatus.aidl
│ │ │ ├── [ 723] BluetoothDevice.aidl
│ │ │ ├── [1.3K] bluetooth_device.cc
│ │ │ ├── [1.6K] bluetooth_device.h
│ │ │ ├── [ 685] BluetoothGattCharacteristic.aidl
│ │ │ ├── [ 681] BluetoothGattDescriptor.aidl
│ │ │ ├── [ 686] BluetoothGattIncludedService.aidl
│ │ │ ├── [ 678] BluetoothGattService.aidl
│ │ │ ├── [ 683] BluetoothHeadsetClientCall.aidl
│ │ │ ├── [ 689] BluetoothHidDeviceAppQosSettings.aidl
│ │ │ ├── [ 689] BluetoothHidDeviceAppSdpSettings.aidl
│ │ │ ├── [2.0K] IBluetoothA2dp.aidl
│ │ │ ├── [1.3K] IBluetoothA2dpSink.aidl
│ │ │ ├── [5.5K] IBluetooth.aidl
│ │ │ ├── [1.3K] IBluetoothAvrcpController.aidl
│ │ │ ├── [ 817] IBluetoothAvrcpTarget.aidl
│ │ │ ├── [ 863] IBluetoothCallback.aidl
│ │ │ ├── [6.5K] IBluetoothGatt.aidl
│ │ │ ├── [2.0K] IBluetoothGattCallback.aidl
│ │ │ ├── [2.4K] IBluetoothGattServerCallback.aidl
│ │ │ ├── [2.4K] IBluetoothHeadset.aidl
│ │ │ ├── [2.4K] IBluetoothHeadsetClient.aidl
│ │ │ ├── [1.2K] IBluetoothHeadsetPhone.aidl
│ │ │ ├── [1.7K] IBluetoothHearingAid.aidl
│ │ │ ├── [1.7K] IBluetoothHidDevice.aidl
│ │ │ ├── [1.3K] IBluetoothHidDeviceCallback.aidl
│ │ │ ├── [1.9K] IBluetoothHidHost.aidl
│ │ │ ├── [1.9K] IBluetoothManager.aidl
│ │ │ ├── [ 945] IBluetoothManagerCallback.aidl
│ │ │ ├── [1.3K] IBluetoothMap.aidl
│ │ │ ├── [1.5K] IBluetoothMapClient.aidl
│ │ │ ├── [ 929] IBluetoothMetadataListener.aidl
│ │ │ ├── [1.1K] IBluetoothPan.aidl
│ │ │ ├── [1019] IBluetoothPbap.aidl
│ │ │ ├── [1.2K] IBluetoothPbapClient.aidl
│ │ │ ├── [ 963] IBluetoothProfileServiceConnection.aidl
│ │ │ ├── [1.3K] IBluetoothSap.aidl
│ │ │ ├── [1.2K] IBluetoothSocketManager.aidl
│ │ │ ├── [ 822] IBluetoothStateChangeCallback.aidl
│ │ │ ├── [4.0K] le
│ │ │ │ ├── [ 674] AdvertiseData.aidl
│ │ │ │ ├── [ 677] AdvertiseSettings.aidl
│ │ │ │ ├── [ 685] AdvertisingSetParameters.aidl
│ │ │ │ ├── [1.5K] IAdvertisingSetCallback.aidl
│ │ │ │ ├── [1.1K] IPeriodicAdvertisingCallback.aidl
│ │ │ │ ├── [1.1K] IScannerCallback.aidl
│ │ │ │ ├── [ 690] PeriodicAdvertisingParameters.aidl
│ │ │ │ ├── [ 686] PeriodicAdvertisingReport.aidl
│ │ │ │ ├── [ 704] ResultStorageDescriptor.aidl
│ │ │ │ ├── [ 671] ScanFilter.aidl
│ │ │ │ ├── [ 670] ScanResult.aidl
│ │ │ │ └── [ 673] ScanSettings.aidl
│ │ │ └── [ 665] OobData.aidl
│ │ └── [4.0K] os
│ │ ├── [1.9K] parcel_uuid.cc
│ │ └── [1.6K] parcel_uuid.h
│ └── [4.6K] Android.bp
├── [4.0K] bta
│ ├── [4.0K] ag
│ │ ├── [ 28K] bta_ag_act.cc
│ │ ├── [8.1K] bta_ag_api.cc
│ │ ├── [7.0K] bta_ag_at.cc
│ │ ├── [4.7K] bta_ag_at.h
│ │ ├── [2.7K] bta_ag_cfg.cc
│ │ ├── [ 57K] bta_ag_cmd.cc
│ │ ├── [ 17K] bta_ag_int.h
│ │ ├── [ 29K] bta_ag_main.cc
│ │ ├── [ 14K] bta_ag_rfc.cc
│ │ ├── [ 46K] bta_ag_sco.cc
│ │ └── [ 18K] bta_ag_sdp.cc
│ ├── [3.9K] Android.bp
│ ├── [4.0K] ar
│ │ ├── [9.9K] bta_ar.cc
│ │ └── [1.9K] bta_ar_int.h
│ ├── [4.0K] av
│ │ ├── [119K] bta_av_aact.cc
│ │ ├── [ 76K] bta_av_act.cc
│ │ ├── [ 20K] bta_av_api.cc
│ │ ├── [ 12K] bta_av_cfg.cc
│ │ ├── [3.5K] bta_av_ci.cc
│ │ ├── [ 30K] bta_av_int.h
│ │ ├── [ 53K] bta_av_main.cc
│ │ └── [ 27K] bta_av_ssm.cc
│ ├── [3.5K] BUILD.gn
│ ├── [4.0K] dm
│ │ ├── [159K] bta_dm_act.cc
│ │ ├── [ 32K] bta_dm_api.cc
│ │ ├── [ 28K] bta_dm_cfg.cc
│ │ ├── [2.7K] bta_dm_ci.cc
│ │ ├── [ 16K] bta_dm_int.h
│ │ ├── [ 12K] bta_dm_main.cc
│ │ └── [ 39K] bta_dm_pm.cc
│ ├── [4.0K] gatt
│ │ ├── [ 47K] bta_gattc_act.cc
│ │ ├── [ 26K] bta_gattc_api.cc
│ │ ├── [ 28K] bta_gattc_cache.cc
│ │ ├── [ 16K] bta_gattc_int.h
│ │ ├── [ 19K] bta_gattc_main.cc
│ │ ├── [6.6K] bta_gattc_queue.cc
│ │ ├── [ 21K] bta_gattc_utils.cc
│ │ ├── [ 23K] bta_gatts_act.cc
│ │ ├── [ 12K] bta_gatts_api.cc
│ │ ├── [5.9K] bta_gatts_int.h
│ │ ├── [3.3K] bta_gatts_main.cc
│ │ ├── [5.1K] bta_gatts_utils.cc
│ │ ├── [6.2K] database_builder.cc
│ │ ├── [3.0K] database_builder.h
│ │ ├── [6.4K] database.cc
│ │ └── [3.3K] database.h
│ ├── [4.0K] hd
│ │ ├── [ 21K] bta_hd_act.cc
│ │ ├── [9.2K] bta_hd_api.cc
│ │ ├── [5.1K] bta_hd_int.h
│ │ └── [ 15K] bta_hd_main.cc
│ ├── [4.0K] hearing_aid
│ │ ├── [ 15K] hearing_aid_audio_source.cc
│ │ └── [ 64K] hearing_aid.cc
│ ├── [4.0K] hf_client
│ │ ├── [ 14K] bta_hf_client_act.cc
│ │ ├── [6.7K] bta_hf_client_api.cc
│ │ ├── [ 59K] bta_hf_client_at.cc
│ │ ├── [2.2K] bta_hf_client_at.h
│ │ ├── [ 15K] bta_hf_client_int.h
│ │ ├── [ 35K] bta_hf_client_main.cc
│ │ ├── [ 10K] bta_hf_client_rfc.cc
│ │ ├── [ 20K] bta_hf_client_sco.cc
│ │ └── [ 12K] bta_hf_client_sdp.cc
│ ├── [4.0K] hh
│ │ ├── [ 40K] bta_hh_act.cc
│ │ ├── [ 14K] bta_hh_api.cc
│ │ ├── [2.1K] bta_hh_cfg.cc
│ │ ├── [ 13K] bta_hh_int.h
│ │ ├── [ 75K] bta_hh_le.cc
│ │ ├── [ 19K] bta_hh_main.cc
│ │ └── [ 17K] bta_hh_utils.cc
│ ├── [4.0K] hl
│ │ └── [ 71K] bta_hl_main.cc
│ ├── [4.0K] include
│ │ ├── [ 23K] bta_ag_api.h
│ │ ├── [ 68K] bta_api.h
│ │ ├── [5.1K] bta_ar_api.h
│ │ ├── [ 25K] bta_av_api.h
│ │ ├── [2.6K] bta_av_ci.h
│ │ ├── [9.5K] bta_av_co.h
│ │ ├── [1.2K] bta_dm_api.h
│ │ ├── [2.8K] bta_dm_ci.h
│ │ ├── [8.0K] bta_dm_co.h
│ │ ├── [ 33K] bta_gatt_api.h
│ │ ├── [3.1K] bta_gatt_queue.h
│ │ ├── [3.2K] bta_gatts_co.h
│ │ ├── [8.4K] bta_hd_api.h
│ │ ├── [8.9K] bta_hearing_aid_api.h
│ │ ├── [ 14K] bta_hf_client_api.h
│ │ ├── [ 18K] bta_hh_api.h
│ │ ├── [6.0K] bta_hh_co.h
│ │ ├── [ 35K] bta_jv_api.h
│ │ ├── [1.9K] bta_jv_co.h
│ │ ├── [4.4K] bta_mce_api.h
│ │ ├── [2.2K] bta_op_api.h
│ │ ├── [6.2K] bta_pan_api.h
│ │ ├── [5.7K] bta_pan_ci.h
│ │ ├── [7.9K] bta_pan_co.h
│ │ ├── [5.3K] bta_sdp_api.h
│ │ └── [6.2K] utl.h
│ ├── [4.0K] jv
│ │ ├── [ 71K] bta_jv_act.cc
│ │ ├── [ 28K] bta_jv_api.cc
│ │ ├── [2.2K] bta_jv_cfg.cc
│ │ └── [8.6K] bta_jv_int.h
│ ├── [4.0K] mce
│ │ ├── [5.8K] bta_mce_act.cc
│ │ ├── [3.7K] bta_mce_api.cc
│ │ ├── [1.6K] bta_mce_cfg.cc
│ │ ├── [2.5K] bta_mce_int.h
│ │ └── [2.4K] bta_mce_main.cc
│ ├── [4.0K] pan
│ │ ├── [ 22K] bta_pan_act.cc
│ │ ├── [6.0K] bta_pan_api.cc
│ │ ├── [9.3K] bta_pan_ci.cc
│ │ ├── [6.4K] bta_pan_int.h
│ │ └── [ 11K] bta_pan_main.cc
│ ├── [4.0K] pb
│ │ └── [2.2K] bta_pbs_int.h
│ ├── [4.0K] sdp
│ │ ├── [ 18K] bta_sdp_act.cc
│ │ ├── [5.4K] bta_sdp_api.cc
│ │ ├── [2.4K] bta_sdp.cc
│ │ ├── [1.5K] bta_sdp_cfg.cc
│ │ └── [2.8K] bta_sdp_int.h
│ ├── [4.0K] sys
│ │ ├── [ 17K] bta_sys_conn.cc
│ │ ├── [ 11K] bta_sys.h
│ │ ├── [3.8K] bta_sys_int.h
│ │ ├── [ 21K] bta_sys_main.cc
│ │ └── [8.1K] utl.cc
│ └── [4.0K] test
│ ├── [3.0K] bta_hf_client_test.cc
│ └── [4.0K] gatt
│ ├── [ 14K] database_builder_sample_device_test.cc
│ ├── [6.2K] database_builder_test.cc
│ └── [7.7K] database_test.cc
├── [4.0K] btcore
│ ├── [1.3K] Android.bp
│ ├── [1.2K] BUILD.gn
│ ├── [4.0K] include
│ │ ├── [4.0K] device_class.h
│ │ ├── [ 999] device_features.h
│ │ ├── [1.0K] event_mask.h
│ │ ├── [ 814] hal_util.h
│ │ ├── [1010] iac.h
│ │ ├── [2.5K] module.h
│ │ ├── [ 825] osi_module.h
│ │ ├── [3.7K] property.h
│ │ └── [ 955] version.h
│ ├── [4.0K] src
│ │ ├── [5.1K] device_class.cc
│ │ ├── [1.9K] hal_util.cc
│ │ ├── [6.7K] module.cc
│ │ ├── [1.6K] osi_module.cc
│ │ └── [7.5K] property.cc
│ └── [4.0K] test
│ ├── [6.9K] device_class_test.cc
│ └── [7.1K] property_test.cc
├── [4.0K] btif
│ ├── [5.6K] Android.bp
│ ├── [4.0K] avrcp
│ │ ├── [ 16K] avrcp_service.cc
│ │ └── [3.2K] avrcp_service.h
│ ├── [2.8K] BUILD.gn
│ ├── [4.0K] co
│ │ ├── [ 78K] bta_av_co.cc
│ │ ├── [ 11K] bta_dm_co.cc
│ │ ├── [5.0K] bta_gatts_co.cc
│ │ ├── [ 23K] bta_hh_co.cc
│ │ └── [ 11K] bta_pan_co.cc
│ ├── [4.0K] include
│ │ ├── [1.3K] btif_a2dp_audio_interface.h
│ │ ├── [1.9K] btif_a2dp_control.h
│ │ ├── [2.5K] btif_a2dp.h
│ │ ├── [5.3K] btif_a2dp_sink.h
│ │ ├── [5.2K] btif_a2dp_source.h
│ │ ├── [ 15K] btif_api.h
│ │ ├── [3.6K] btif_av_co.h
│ │ ├── [5.1K] btif_av.h
│ │ ├── [2.2K] btif_avrcp_audio_track.h
│ │ ├── [ 10K] btif_bqr.h
│ │ ├── [8.5K] btif_common.h
│ │ ├── [2.7K] btif_config.h
│ │ ├── [ 886] btif_config_transcode.h
│ │ ├── [1.4K] btif_debug_btsnoop.h
│ │ ├── [1.2K] btif_debug_conn.h
│ │ ├── [ 840] btif_debug.h
│ │ ├── [4.0K] btif_dm.h
│ │ ├── [1.2K] btif_gatt.h
│ │ ├── [1.3K] btif_gatt_util.h
│ │ ├── [1.3K] btif_hd.h
│ │ ├── [1.4K] btif_hf.h
│ │ ├── [3.8K] btif_hh.h
│ │ ├── [2.1K] btif_keystore.h
│ │ ├── [1.2K] btif_mce.h
│ │ ├── [1.2K] btif_pan.h
│ │ ├── [3.7K] btif_pan_internal.h
│ │ ├── [1.6K] btif_profile_queue.h
│ │ ├── [1.0K] btif_rc.h
│ │ ├── [1.1K] btif_sdp.h
│ │ ├── [ 968] btif_sock.h
│ │ ├── [ 833] btif_sock_l2cap.h
│ │ ├── [1.6K] btif_sock_rfc.h
│ │ ├── [1.1K] btif_sock_sco.h
│ │ ├── [1.5K] btif_sock_sdp.h
│ │ ├── [2.3K] btif_sock_thread.h
│ │ ├── [1.3K] btif_sock_util.h
│ │ ├── [ 13K] btif_storage.h
│ │ ├── [1.3K] btif_uid.h
│ │ ├── [2.5K] btif_util.h
│ │ └── [1.2K] stack_manager.h
│ ├── [4.0K] src
│ │ ├── [ 14K] bluetooth.cc
│ │ ├── [ 17K] btif_a2dp_audio_interface.cc
│ │ ├── [1.3K] btif_a2dp_audio_interface_linux.cc
│ │ ├── [6.5K] btif_a2dp.cc
│ │ ├── [ 16K] btif_a2dp_control.cc
│ │ ├── [ 22K] btif_a2dp_sink.cc
│ │ ├── [ 50K] btif_a2dp_source.cc
│ │ ├── [112K] btif_av.cc
│ │ ├── [5.0K] btif_avrcp_audio_track.cc
│ │ ├── [1.2K] btif_avrcp_audio_track_linux.cc
│ │ ├── [9.8K] btif_ble_advertiser.cc
│ │ ├── [ 13K] btif_ble_scanner.cc
│ │ ├── [ 11K] btif_bqr.cc
│ │ ├── [ 26K] btif_config.cc
│ │ ├── [2.0K] btif_config_transcode.cc
│ │ ├── [ 39K] btif_core.cc
│ │ ├── [6.9K] btif_debug_btsnoop.cc
│ │ ├── [1022] btif_debug.cc
│ │ ├── [3.2K] btif_debug_conn.cc
│ │ ├── [118K] btif_dm.cc
│ │ ├── [3.2K] btif_gatt.cc
│ │ ├── [ 22K] btif_gatt_client.cc
│ │ ├── [ 16K] btif_gatt_server.cc
│ │ ├── [9.0K] btif_gatt_test.cc
│ │ ├── [4.0K] btif_gatt_util.cc
│ │ ├── [ 21K] btif_hd.cc
│ │ ├── [5.1K] btif_hearing_aid.cc
│ │ ├── [ 52K] btif_hf.cc
│ │ ├── [ 38K] btif_hf_client.cc
│ │ ├── [ 60K] btif_hh.cc
│ │ ├── [158K] btif_hl.cc
│ │ ├── [5.1K] btif_keystore.cc
│ │ ├── [5.0K] btif_mce.cc
│ │ ├── [ 25K] btif_pan.cc
│ │ ├── [7.2K] btif_profile_queue.cc
│ │ ├── [198K] btif_rc.cc
│ │ ├── [5.5K] btif_sdp.cc
│ │ ├── [ 28K] btif_sdp_server.cc
│ │ ├── [8.5K] btif_sock.cc
│ │ ├── [ 36K] btif_sock_l2cap.cc
│ │ ├── [ 30K] btif_sock_rfc.cc
│ │ ├── [ 11K] btif_sock_sco.cc
│ │ ├── [ 15K] btif_sock_sdp.cc
│ │ ├── [ 16K] btif_sock_thread.cc
│ │ ├── [4.1K] btif_sock_util.cc
│ │ ├── [ 65K] btif_storage.cc
│ │ ├── [3.2K] btif_uid.cc
│ │ ├── [ 13K] btif_util.cc
│ │ └── [8.2K] stack_manager.cc
│ └── [4.0K] test
│ ├── [2.0K] btif_keystore_test.cc
│ ├── [8.8K] btif_profile_queue_test.cc
│ └── [1.8K] btif_storage_test.cc
├── [4.0K] build
│ ├── [2.7K] Android.bp
│ ├── [1.8K] BUILD.gn
│ ├── [4.0K] config
│ │ └── [1.3K] BUILDCONFIG.gn
│ ├── [1.7K] fluoride.go
│ ├── [1.8K] install_deps.sh
│ └── [4.0K] toolchain
│ ├── [4.0K] clang
│ │ ├── [3.3K] BUILD.gn
│ │ └── [1.3K] get_clang_suffix.py
│ └── [4.0K] gcc
│ └── [2.8K] BUILD.gn
├── [1.3K] BUILD.gn
├── [2.4K] CleanSpec.mk
├── [4.0K] common
│ ├── [2.0K] address_obfuscator.cc
│ ├── [2.0K] address_obfuscator.h
│ ├── [5.0K] address_obfuscator_unittest.cc
│ ├── [2.6K] Android.bp
│ ├── [4.0K] benchmark
│ │ ├── [ 14K] thread_performance_benchmark.cc
│ │ └── [8.3K] timer_performance_benchmark.cc
│ ├── [1.3K] BUILD.gn
│ ├── [1.2K] id_generator.h
│ ├── [1.1K] id_generator_unittest.cc
│ ├── [4.2K] leaky_bonded_queue.h
│ ├── [8.3K] leaky_bonded_queue_unittest.cc
│ ├── [6.5K] message_loop_thread.cc
│ ├── [6.5K] message_loop_thread.h
│ ├── [ 12K] message_loop_thread_unittest.cc
│ ├── [ 36K] metrics.cc
│ ├── [ 17K] metrics.h
│ ├── [3.2K] metrics_linux.cc
│ ├── [ 39K] metrics_unittest.cc
│ ├── [4.0K] once_timer.cc
│ ├── [2.5K] once_timer.h
│ ├── [7.6K] once_timer_unittest.cc
│ ├── [5.3K] repeating_timer.cc
│ ├── [2.7K] repeating_timer.h
│ ├── [8.5K] repeating_timer_unittest.cc
│ ├── [5.2K] state_machine.h
│ ├── [7.8K] state_machine_unittest.cc
│ ├── [4.0K] test
│ │ └── [ 12K] thread_performance_test.cc
│ ├── [1.4K] time_util.cc
│ ├── [1.1K] time_util.h
│ ├── [4.9K] time_util_unittest.cc
│ └── [1.0K] utils.h
├── [4.0K] conf
│ ├── [ 385] Android.bp
│ ├── [2.6K] bt_did.conf
│ └── [1.9K] bt_stack.conf
├── [4.0K] device
│ ├── [1.1K] Android.bp
│ ├── [1.2K] BUILD.gn
│ ├── [4.0K] include
│ │ ├── [3.6K] controller.h
│ │ ├── [5.9K] esco_parameters.h
│ │ ├── [6.8K] interop_database.h
│ │ └── [5.4K] interop.h
│ ├── [4.0K] src
│ │ ├── [ 19K] controller.cc
│ │ ├── [6.7K] esco_parameters.cc
│ │ └── [5.5K] interop.cc
│ └── [4.0K] test
│ └── [3.4K] interop_test.cc
├── [4.0K] doc
│ ├── [ 491] btsnoop_net.md
│ ├── [1.5K] directory_layout.md
│ ├── [ 840] log_tags.md
│ ├── [ 313] network_ports.md
│ ├── [ 11K] power_management.md
│ ├── [ 588] properties.md
│ ├── [1.5K] pts_guide.md
│ ├── [ 13K] style_guide.md
│ └── [ 863] supported_features.md
├── [4.0K] embdrv
│ ├── [4.0K] g722
│ │ ├── [ 209] Android.bp
│ │ ├── [ 677] BUILD.gn
│ │ ├── [ 11K] g722_decode.cc
│ │ ├── [4.2K] g722_enc_dec.h
│ │ ├── [ 11K] g722_encode.cc
│ │ └── [3.9K] g722_typedefs.h
│ └── [4.0K] sbc
│ ├── [ 44] Android.bp
│ ├── [1.6K] BUILD.gn
│ ├── [4.0K] decoder
│ │ ├── [ 722] Android.bp
│ │ ├── [4.0K] include
│ │ │ ├── [2.7K] oi_assert.h
│ │ │ ├── [4.7K] oi_bitstream.h
│ │ │ ├── [6.8K] oi_bt_spec.h
│ │ │ ├── [ 18K] oi_codec_sbc.h
│ │ │ ├── [7.7K] oi_codec_sbc_private.h
│ │ │ ├── [1.6K] oi_common.h
│ │ │ ├── [ 10K] oi_cpu_dep.h
│ │ │ ├── [7.8K] oi_modules.h
│ │ │ ├── [6.5K] oi_osinterface.h
│ │ │ ├── [ 46K] oi_status.h
│ │ │ ├── [ 14K] oi_stddefs.h
│ │ │ ├── [4.5K] oi_string.h
│ │ │ ├── [5.1K] oi_time.h
│ │ │ └── [ 12K] oi_utils.h
│ │ └── [4.0K] srce
│ │ ├── [2.8K] alloc.c
│ │ ├── [ 11K] bitalloc.c
│ │ ├── [4.9K] bitalloc-sbc.c
│ │ ├── [2.3K] bitstream-decode.c
│ │ ├── [3.4K] decoder-oina.c
│ │ ├── [6.8K] decoder-private.c
│ │ ├── [ 15K] decoder-sbc.c
│ │ ├── [5.9K] dequant.c
│ │ ├── [ 11K] framing.c
│ │ ├── [2.4K] framing-sbc.c
│ │ ├── [1.7K] oi_codec_version.c
│ │ ├── [3.8K] readsamplesjoint.inc
│ │ ├── [7.7K] synthesis-8-generated.c
│ │ ├── [9.4K] synthesis-dct8.c
│ │ └── [ 19K] synthesis-sbc.c
│ └── [4.0K] encoder
│ ├── [ 562] Android.bp
│ ├── [4.0K] include
│ │ ├── [4.0K] sbc_dct.h
│ │ ├── [2.0K] sbc_enc_func_declare.h
│ │ ├── [5.8K] sbc_encoder.h
│ │ ├── [1.4K] sbc_if.h
│ │ └── [1.1K] sbc_types.h
│ └── [4.0K] srce
│ ├── [100K] sbc_analysis.c
│ ├── [8.9K] sbc_dct.c
│ ├── [5.9K] sbc_dct_coeffs.c
│ ├── [6.4K] sbc_enc_bit_alloc_mono.c
│ ├── [6.0K] sbc_enc_bit_alloc_ste.c
│ ├── [ 12K] sbc_enc_coeffs.c
│ ├── [9.0K] sbc_encoder.c
│ └── [8.6K] sbc_packing.c
├── [1.3K] EventLogTags.logtags
├── [4.0K] gd
│ ├── [2.9K] Android.bp
│ ├── [1.7K] AndroidTestTemplate.xml
│ ├── [ 848] benchmark.cc
│ ├── [4.0K] common
│ │ ├── [2.3K] address.cc
│ │ ├── [2.4K] address.h
│ │ ├── [5.8K] address_unittest.cc
│ │ ├── [ 263] Android.bp
│ │ ├── [2.6K] class_of_device.cc
│ │ ├── [1.8K] class_of_device.h
│ │ └── [3.0K] class_of_device_unittest.cc
│ ├── [4.0K] os
│ │ ├── [4.1K] alarm_benchmark.cc
│ │ ├── [1.6K] alarm.h
│ │ ├── [ 711] Android.bp
│ │ ├── [1.7K] handler.h
│ │ ├── [4.0K] linux_generic
│ │ │ ├── [2.2K] alarm.cc
│ │ │ ├── [2.6K] alarm_unittest.cc
│ │ │ ├── [2.2K] handler.cc
│ │ │ ├── [1.8K] handler_unittest.cc
│ │ │ ├── [6.2K] reactor.cc
│ │ │ ├── [8.1K] reactor_unittest.cc
│ │ │ ├── [2.2K] repeating_alarm.cc
│ │ │ ├── [3.7K] repeating_alarm_unittest.cc
│ │ │ ├── [2.1K] thread.cc
│ │ │ └── [2.4K] thread_unittest.cc
│ │ ├── [2.0K] log.h
│ │ ├── [2.5K] reactor.h
│ │ ├── [1.6K] repeating_alarm.h
│ │ ├── [3.1K] thread_benchmark.cc
│ │ ├── [2.2K] thread.h
│ │ └── [1.0K] utils.h
│ ├── [4.0K] packet
│ │ ├── [ 408] Android.bp
│ │ ├── [1.2K] base_packet_builder.h
│ │ ├── [4.0K] bit_inserter.cc
│ │ ├── [1.8K] bit_inserter.h
│ │ ├── [1.5K] bit_inserter_unittest.cc
│ │ ├── [4.0K] iterator.cc
│ │ ├── [2.4K] iterator.h
│ │ ├── [3.9K] packet_builder.h
│ │ ├── [7.7K] packet_builder_unittest.cc
│ │ ├── [3.2K] packet_view.cc
│ │ ├── [1.8K] packet_view.h
│ │ ├── [ 19K] packet_view_unittest.cc
│ │ ├── [2.5K] raw_builder.cc
│ │ ├── [2.2K] raw_builder.h
│ │ ├── [2.0K] raw_builder_unittest.cc
│ │ ├── [1.4K] view.cc
│ │ └── [1.2K] view.h
│ └── [ 94] TEST_MAPPING
├── [4.0K] hci
│ ├── [1.9K] Android.bp
│ ├── [1.6K] BUILD.gn
│ ├── [4.0K] include
│ │ ├── [3.5K] bt_hci_bdroid.h
│ │ ├── [2.3K] btsnoop.h
│ │ ├── [1.4K] btsnoop_mem.h
│ │ ├── [ 13K] bt_vendor_lib.h
│ │ ├── [ 867] buffer_allocator.h
│ │ ├── [3.4K] hci_hal.h
│ │ ├── [1.2K] hci_inject.h
│ │ ├── [1.2K] hci_internals.h
│ │ ├── [3.5K] hci_layer.h
│ │ ├── [2.3K] hci_packet_factory.h
│ │ ├── [3.5K] hci_packet_parser.h
│ │ ├── [1.7K] low_power_manager.h
│ │ ├── [2.4K] packet_fragmenter.h
│ │ ├── [2.5K] userial.h
│ │ └── [2.5K] vendor.h
│ ├── [4.0K] src
│ │ ├── [ 15K] btsnoop.cc
│ │ ├── [1.7K] btsnoop_mem.cc
│ │ ├── [4.4K] btsnoop_net.cc
│ │ ├── [1.1K] buffer_allocator.cc
│ │ ├── [5.6K] hci_inject.cc
│ │ ├── [6.2K] hci_layer_android.cc
│ │ ├── [ 26K] hci_layer.cc
│ │ ├── [9.6K] hci_layer_linux.cc
│ │ ├── [7.0K] hci_packet_factory.cc
│ │ ├── [ 11K] hci_packet_parser.cc
│ │ └── [8.8K] packet_fragmenter.cc
│ └── [4.0K] test
│ └── [ 13K] packet_fragmenter_test.cc
├── [4.0K] include
│ ├── [ 940] Android.bp
│ └── [4.0K] hardware
│ ├── [4.0K] avrcp
│ │ ├── [8.3K] avrcp_common.h
│ │ ├── [6.3K] avrcp.h
│ │ └── [7.5K] avrcp_logging_helper.h
│ ├── [4.3K] ble_advertiser.h
│ ├── [5.3K] ble_scanner.h
│ ├── [ 21K] bluetooth.h
│ ├── [5.8K] bluetooth_headset_callbacks.h
│ ├── [8.0K] bluetooth_headset_interface.h
│ ├── [ 12K] bt_av.h
│ ├── [2.7K] bt_common_types.h
│ ├── [ 12K] bt_gatt_client.h
│ ├── [1.9K] bt_gatt.h
│ ├── [7.0K] bt_gatt_server.h
│ ├── [1.4K] bt_gatt_types.h
│ ├── [3.8K] bt_hd.h
│ ├── [2.3K] bt_hearing_aid.h
│ ├── [ 14K] bt_hf_client.h
│ ├── [3.3K] bt_hf.h
│ ├── [6.3K] bt_hh.h
│ ├── [1.5K] bt_mce.h
│ ├── [2.9K] bt_pan.h
│ ├── [ 28K] bt_rc.h
│ ├── [4.7K] bt_sdp.h
│ └── [3.0K] bt_sock.h
├── [4.0K] internal_include
│ ├── [ 147] Android.bp
│ ├── [ 890] bt_common.h
│ ├── [1.2K] bte_appl.h
│ ├── [5.1K] bte.h
│ ├── [ 32K] bt_target.h
│ ├── [ 35K] bt_trace.h
│ └── [1.3K] stack_config.h
├── [4.0K] linux_include
│ └── [4.0K] log
│ └── [1.3K] log.h
├── [4.0K] main
│ ├── [3.5K] Android.bp
│ ├── [3.9K] bte_conf.cc
│ ├── [2.9K] bte_init.cc
│ ├── [1.9K] bte_init_cpp_logging.cc
│ ├── [7.2K] bte_logmsg.cc
│ ├── [7.1K] bte_main.cc
│ ├── [1.9K] BUILD.gn
│ ├── [ 951] main_int.h
│ └── [3.8K] stack_config.cc
├── [ 0] MODULE_LICENSE_APACHE2
├── [ 11K] NOTICE
├── [4.0K] osi
│ ├── [3.4K] Android.bp
│ ├── [2.2K] BUILD.gn
│ ├── [4.0K] include
│ │ ├── [4.5K] alarm.h
│ │ ├── [2.5K] allocation_tracker.h
│ │ ├── [1.7K] allocator.h
│ │ ├── [2.4K] array.h
│ │ ├── [2.4K] buffer.h
│ │ ├── [1.1K] compat.h
│ │ ├── [6.4K] config.h
│ │ ├── [6.2K] fixed_queue.h
│ │ ├── [1.6K] future.h
│ │ ├── [1.8K] hash_map_utils.h
│ │ ├── [6.1K] list.h
│ │ ├── [3.1K] log.h
│ │ ├── [ 914] mutex.h
│ │ ├── [2.2K] osi.h
│ │ ├── [2.0K] properties.h
│ │ ├── [3.9K] reactor.h
│ │ ├── [2.4K] ringbuffer.h
│ │ ├── [2.3K] semaphore.h
│ │ ├── [5.5K] socket.h
│ │ ├── [4.0K] socket_utils
│ │ │ ├── [1.4K] socket_local.h
│ │ │ └── [2.2K] sockets.h
│ │ ├── [3.4K] thread.h
│ │ └── [2.0K] wakelock.h
│ ├── [4.0K] src
│ │ ├── [ 25K] alarm.cc
│ │ ├── [5.6K] allocation_tracker.cc
│ │ ├── [2.5K] allocator.cc
│ │ ├── [3.0K] array.cc
│ │ ├── [2.3K] buffer.cc
│ │ ├── [3.5K] compat.cc
│ │ ├── [ 15K] config.cc
│ │ ├── [6.5K] fixed_queue.cc
│ │ ├── [2.3K] future.cc
│ │ ├── [2.3K] hash_map_utils.cc
│ │ ├── [4.8K] list.cc
│ │ ├── [1002] mutex.cc
│ │ ├── [1.4K] osi.cc
│ │ ├── [2.1K] properties.cc
│ │ ├── [9.0K] reactor.cc
│ │ ├── [3.0K] ringbuffer.cc
│ │ ├── [3.1K] semaphore.cc
│ │ ├── [5.9K] socket.cc
│ │ ├── [4.0K] socket_utils
│ │ │ ├── [1.6K] README
│ │ │ ├── [3.9K] socket_local_client.cc
│ │ │ └── [2.4K] socket_local_server.cc
│ │ ├── [6.8K] thread.cc
│ │ └── [ 12K] wakelock.cc
│ └── [4.0K] test
│ ├── [1.5K] alarm_mock.h
│ ├── [9.0K] alarm_test.cc
│ ├── [1.7K] AlarmTestHarness.cc
│ ├── [1.0K] AlarmTestHarness.h
│ ├── [1.1K] AllocationTestHarness.cc
│ ├── [ 925] AllocationTestHarness.h
│ ├── [2.5K] allocation_tracker_test.cc
│ ├── [1.5K] allocator_test.cc
│ ├── [1.6K] array_test.cc
│ ├── [8.8K] config_test.cc
│ ├── [ 12K] fixed_queue_test.cc
│ ├── [1.8K] future_test.cc
│ ├── [3.4K] hash_map_utils_test.cc
│ ├── [5.1K] list_test.cc
│ ├── [1.9K] properties_test.cc
│ ├── [ 348] rand_test.cc
│ ├── [2.5K] reactor_test.cc
│ ├── [4.2K] ringbuffer_test.cc
│ ├── [2.4K] semaphore_test.cc
│ ├── [4.1K] test_stubs.h
│ ├── [1.4K] thread_test.cc
│ └── [4.3K] wakelock_test.cc
├── [ 210] OWNERS
├── [4.0K] packet
│ ├── [1.7K] Android.bp
│ ├── [4.0K] avrcp
│ │ ├── [1008] Android.bp
│ │ ├── [2.6K] avrcp_browse_packet.cc
│ │ ├── [2.3K] avrcp_browse_packet.h
│ │ ├── [3.4K] avrcp_packet.cc
│ │ ├── [3.1K] avrcp_packet.h
│ │ ├── [1.4K] avrcp_reject_packet.cc
│ │ ├── [1.3K] avrcp_reject_packet.h
│ │ ├── [4.9K] capabilities_packet.cc
│ │ ├── [4.1K] capabilities_packet.h
│ │ ├── [3.5K] change_path.cc
│ │ ├── [2.7K] change_path.h
│ │ ├── [1.3K] general_reject_packet.cc
│ │ ├── [1.2K] general_reject_packet.h
│ │ ├── [4.4K] get_element_attributes_packet.cc
│ │ ├── [2.5K] get_element_attributes_packet.h
│ │ ├── [ 11K] get_folder_items.cc
│ │ ├── [4.2K] get_folder_items.h
│ │ ├── [4.7K] get_item_attributes.cc
│ │ ├── [2.3K] get_item_attributes.h
│ │ ├── [1.9K] get_play_status_packet.cc
│ │ ├── [2.4K] get_play_status_packet.h
│ │ ├── [2.4K] get_total_number_of_items.cc
│ │ ├── [2.1K] get_total_number_of_items.h
│ │ ├── [2.3K] pass_through_packet.cc
│ │ ├── [2.1K] pass_through_packet.h
│ │ ├── [2.7K] play_item.cc
│ │ ├── [2.1K] play_item.h
│ │ ├── [9.7K] register_notification_packet.cc
│ │ ├── [4.7K] register_notification_packet.h
│ │ ├── [2.4K] set_absolute_volume.cc
│ │ ├── [2.4K] set_absolute_volume.h
│ │ ├── [2.4K] set_addressed_player.cc
│ │ ├── [2.1K] set_addressed_player.h
│ │ ├── [3.3K] set_browsed_player.cc
│ │ ├── [2.3K] set_browsed_player.h
│ │ ├── [4.4K] vendor_packet.cc
│ │ └── [2.5K] vendor_packet.h
│ ├── [4.0K] base
│ │ ├── [ 252] Android.bp
│ │ ├── [3.2K] iterator.cc
│ │ ├── [3.0K] iterator.h
│ │ ├── [1.2K] packet_builder.cc
│ │ ├── [2.0K] packet_builder.h
│ │ ├── [1.4K] packet.cc
│ │ └── [3.4K] packet.h
│ ├── [1.5K] BUILD.gn
│ ├── [4.0K] include
│ │ ├── [1.3K] avrcp_packet.h
│ │ └── [ 715] packet.h
│ └── [4.0K] tests
│ ├── [4.0K] avrcp
│ │ ├── [3.9K] avrcp_browse_packet_test.cc
│ │ ├── [3.8K] avrcp_packet_test.cc
│ │ ├── [1.3K] avrcp_reject_packet_test.cc
│ │ ├── [ 18K] avrcp_test_packets.h
│ │ ├── [2.9K] change_path_packet_test.cc
│ │ ├── [1.2K] general_reject_packet_test.cc
│ │ ├── [4.4K] get_capabilities_packet_test.cc
│ │ ├── [5.1K] get_element_attributes_packet_test.cc
│ │ ├── [10.0K] get_folder_items_packet_test.cc
│ │ ├── [5.0K] get_item_attributes_packet_test.cc
│ │ ├── [1.2K] get_play_status_packet_test.cc
│ │ ├── [2.6K] get_total_number_of_items_packet_test.cc
│ │ ├── [2.6K] pass_through_packet_test.cc
│ │ ├── [2.0K] play_item_packet_test.cc
│ │ ├── [6.4K] register_notification_packet_test.cc
│ │ ├── [2.5K] set_absolute_volume_packet_test.cc
│ │ ├── [2.0K] set_addressed_player_packet_test.cc
│ │ ├── [2.6K] set_browsed_player_packet_test.cc
│ │ └── [5.0K] vendor_packet_test.cc
│ ├── [4.0K] base
│ │ ├── [9.8K] iterator_test.cc
│ │ ├── [2.1K] packet_builder_test.cc
│ │ ├── [3.9K] packet_test.cc
│ │ └── [2.7K] packet_test_common.h
│ ├── [2.0K] packet_test_helper.h
│ └── [2.8K] test_packets.h
├── [ 184] PREUPLOAD.cfg
├── [4.0K] profile
│ ├── [4.0K] avrcp
│ │ ├── [1.3K] Android.bp
│ │ ├── [3.2K] avrcp_internal.h
│ │ ├── [3.3K] avrcp_message_converter.h
│ │ ├── [ 884] BUILD.gn
│ │ ├── [ 20K] connection_handler.cc
│ │ ├── [5.7K] connection_handler.h
│ │ ├── [ 51K] device.cc
│ │ ├── [ 12K] device.h
│ │ ├── [1.9K] media_id_map.h
│ │ └── [4.0K] tests
│ │ ├── [ 20K] avrcp_connection_handler_test.cc
│ │ ├── [ 56K] avrcp_device_test.cc
│ │ └── [5.5K] avrcp_test_helper.h
│ └── [4.0K] sdp
│ ├── [ 681] Android.bp
│ ├── [4.0K] common
│ │ ├── [7.1K] data_element_reader.cc
│ │ ├── [2.0K] data_element_reader.h
│ │ └── [4.0K] test
│ │ └── [ 16K] data_element_reader_test.cc
│ ├── [2.8K] sdp_common.h
│ └── [4.2K] sdp_logging_helper.h
├── [4.0K] proto
│ ├── [ 384] Android.bp
│ └── [4.0K] bluetooth
│ └── [4.0K] metrics
│ └── [7.8K] bluetooth.proto
├── [2.9K] README.md
├── [4.0K] service
│ ├── [4.7K] a2dp_sink.cc
│ ├── [3.1K] a2dp_sink.h
│ ├── [7.6K] a2dp_source.cc
│ ├── [3.9K] a2dp_source.h
│ ├── [ 26K] adapter.cc
│ ├── [9.1K] adapter.h
│ ├── [5.3K] Android.bp
│ ├── [7.2K] avrcp_control.cc
│ ├── [4.8K] avrcp_control.h
│ ├── [ 13K] avrcp_target.cc
│ ├── [7.1K] avrcp_target.h
│ ├── [2.6K] bluetooth_instance.h
│ ├── [ 132] bluetoothtbd.rc
│ ├── [2.7K] BUILD.gn
│ ├── [4.0K] client
│ │ └── [ 34K] main.cc
│ ├── [4.0K] common
│ │ ├── [4.0K] android
│ │ │ └── [4.0K] bluetooth
│ │ │ ├── [ 719] AdvertiseData.aidl
│ │ │ ├── [1.0K] advertise_data.cc
│ │ │ ├── [1.8K] advertise_data.h
│ │ │ ├── [ 727] AdvertiseSettings.aidl
│ │ │ ├── [1.8K] advertise_settings.cc
│ │ │ ├── [1.9K] advertise_settings.h
│ │ │ ├── [ 747] BluetoothA2dpCodecConfig.aidl
│ │ │ ├── [2.7K] bluetooth_a2dp_codec_config.cc
│ │ │ ├── [2.0K] bluetooth_a2dp_codec_config.h
│ │ │ ├── [ 743] BluetoothAvrcpIntValue.aidl
│ │ │ ├── [1.4K] bluetooth_avrcp_int_value.cc
│ │ │ ├── [2.0K] bluetooth_avrcp_int_value.h
│ │ │ ├── [ 745] BluetoothAvrcpMediaAttr.aidl
│ │ │ ├── [2.5K] bluetooth_avrcp_media_attr.cc
│ │ │ ├── [2.0K] bluetooth_avrcp_media_attr.h
│ │ │ ├── [ 784] BluetoothAvrcpRegisterNotificationResponse.aidl
│ │ │ ├── [1.3K] bluetooth_avrcp_register_notification_response.cc
│ │ │ ├── [2.1K] bluetooth_avrcp_register_notification_response.h
│ │ │ ├── [ 749] BluetoothAvrcpStringValue.aidl
│ │ │ ├── [1.5K] bluetooth_avrcp_string_value.cc
│ │ │ ├── [2.0K] bluetooth_avrcp_string_value.h
│ │ │ ├── [ 748] BluetoothGattCharacteristic.aidl
│ │ │ ├── [2.3K] bluetooth_gatt_characteristic.cc
│ │ │ ├── [1.9K] bluetooth_gatt_characteristic.h
│ │ │ ├── [ 740] BluetoothGattDescriptor.aidl
│ │ │ ├── [1.6K] bluetooth_gatt_descriptor.cc
│ │ │ ├── [1.9K] bluetooth_gatt_descriptor.h
│ │ │ ├── [ 751] BluetoothGattIncludedService.aidl
│ │ │ ├── [1.6K] bluetooth_gatt_included_service.cc
│ │ │ ├── [2.1K] bluetooth_gatt_included_service.h
│ │ │ ├── [ 734] BluetoothGattService.aidl
│ │ │ ├── [2.5K] bluetooth_gatt_service.cc
│ │ │ ├── [2.1K] bluetooth_gatt_service.h
│ │ │ ├── [ 751] BluetoothRemoteDeviceProps.aidl
│ │ │ ├── [2.4K] bluetooth_remote_device_props.cc
│ │ │ ├── [2.0K] bluetooth_remote_device_props.h
│ │ │ ├── [1.0K] IBluetoothA2dpSink.aidl
│ │ │ ├── [ 934] IBluetoothA2dpSinkCallback.aidl
│ │ │ ├── [1.1K] IBluetoothA2dpSource.aidl
│ │ │ ├── [1.1K] IBluetoothA2dpSourceCallback.aidl
│ │ │ ├── [2.3K] IBluetooth.aidl
│ │ │ ├── [1.2K] IBluetoothAvrcpControl.aidl
│ │ │ ├── [1.1K] IBluetoothAvrcpControlCallback.aidl
│ │ │ ├── [1.8K] IBluetoothAvrcpTarget.aidl
│ │ │ ├── [1.5K] IBluetoothAvrcpTargetCallback.aidl
│ │ │ ├── [1.4K] IBluetoothCallback.aidl
│ │ │ ├── [ 869] IBluetoothGattClient.aidl
│ │ │ ├── [ 749] IBluetoothGattClientCallback.aidl
│ │ │ ├── [1.3K] IBluetoothGattServer.aidl
│ │ │ ├── [1.6K] IBluetoothGattServerCallback.aidl
│ │ │ ├── [1.2K] IBluetoothLeAdvertiser.aidl
│ │ │ ├── [ 897] IBluetoothLeAdvertiserCallback.aidl
│ │ │ ├── [1.1K] IBluetoothLeScanner.aidl
│ │ │ ├── [ 834] IBluetoothLeScannerCallback.aidl
│ │ │ ├── [1.1K] IBluetoothLowEnergy.aidl
│ │ │ ├── [ 975] IBluetoothLowEnergyCallback.aidl
│ │ │ ├── [ 713] ScanFilter.aidl
│ │ │ ├── [2.5K] scan_filter.cc
│ │ │ ├── [1.8K] scan_filter.h
│ │ │ ├── [ 713] ScanResult.aidl
│ │ │ ├── [1.6K] scan_result.cc
│ │ │ ├── [1.8K] scan_result.h
│ │ │ ├── [ 717] ScanSettings.aidl
│ │ │ ├── [2.3K] scan_settings.cc
│ │ │ ├── [1.8K] scan_settings.h
│ │ │ ├── [ 700] UUID.aidl
│ │ │ ├── [3.1K] uuid.cc
│ │ │ └── [1.9K] uuid.h
│ │ ├── [3.8K] Android.bp
│ │ ├── [4.0K] bluetooth
│ │ │ ├── [1.6K] a2dp_codec_config.cc
│ │ │ ├── [1.9K] a2dp_codec_config.h
│ │ │ ├── [1.4K] adapter_state.cc
│ │ │ ├── [1.4K] adapter_state.h
│ │ │ ├── [2.2K] advertise_data.cc
│ │ │ ├── [2.1K] advertise_data.h
│ │ │ ├── [1.5K] advertise_settings.cc
│ │ │ ├── [3.2K] advertise_settings.h
│ │ │ ├── [ 926] avrcp_int_value.cc
│ │ │ ├── [ 944] avrcp_int_value.h
│ │ │ ├── [1.3K] avrcp_media_attr.cc
│ │ │ ├── [1.5K] avrcp_media_attr.h
│ │ │ ├── [1.1K] avrcp_register_notification_response.cc
│ │ │ ├── [1.1K] avrcp_register_notification_response.h
│ │ │ ├── [1.0K] avrcp_string_value.h
│ │ │ ├── [1.6K] characteristic.cc
│ │ │ ├── [1.9K] characteristic.h
│ │ │ ├── [1.3K] descriptor.cc
│ │ │ ├── [1.4K] descriptor.h
│ │ │ ├── [4.9K] low_energy_constants.h
│ │ │ ├── [1.4K] remote_device_props.cc
│ │ │ ├── [1.6K] remote_device_props.h
│ │ │ ├── [2.7K] scan_filter.cc
│ │ │ ├── [2.8K] scan_filter.h
│ │ │ ├── [1.3K] scan_result.cc
│ │ │ ├── [1.6K] scan_result.h
│ │ │ ├── [1.8K] scan_settings.cc
│ │ │ ├── [5.9K] scan_settings.h
│ │ │ ├── [1.5K] service.cc
│ │ │ ├── [1.9K] service.h
│ │ │ └── [4.0K] util
│ │ │ ├── [1.0K] atomic_string.cc
│ │ │ └── [1.0K] atomic_string.h
│ │ └── [ 604] README
│ ├── [5.0K] daemon.cc
│ ├── [2.3K] daemon.h
│ ├── [4.0K] doc
│ │ ├── [ 925] IBluetoothCallback.txt
│ │ ├── [5.0K] IBluetoothGattClientCallback.txt
│ │ ├── [8.5K] IBluetoothGattClient.txt
│ │ ├── [6.6K] IBluetoothGattServerCallback.txt
│ │ ├── [3.0K] IBluetoothGattServer.txt
│ │ ├── [2.1K] IBluetoothLowEnergyCallback.txt
│ │ ├── [3.8K] IBluetoothLowEnergy.txt
│ │ └── [4.1K] IBluetooth.txt
│ ├── [4.0K] example
│ │ └── [4.0K] heart_rate
│ │ ├── [1.7K] constants.h
│ │ ├── [ 17K] heart_rate_server.cc
│ │ ├── [5.9K] heart_rate_server.h
│ │ └── [4.9K] server_main.cc
│ ├── [3.0K] gatt_client.cc
│ ├── [2.7K] gatt_client.h
│ ├── [ 22K] gatt_server.cc
│ ├── [ 14K] gatt_server.h
│ ├── [ 25K] gatt_server_old.cc
│ ├── [4.2K] gatt_server_old.h
│ ├── [4.0K] hal
│ │ ├── [ 11K] bluetooth_av_interface.cc
│ │ ├── [3.4K] bluetooth_av_interface.h
│ │ ├── [ 29K] bluetooth_avrcp_interface.cc
│ │ ├── [8.9K] bluetooth_avrcp_interface.h
│ │ ├── [ 28K] bluetooth_gatt_interface.cc
│ │ ├── [ 11K] bluetooth_gatt_interface.h
│ │ ├── [ 14K] bluetooth_interface.cc
│ │ ├── [5.3K] bluetooth_interface.h
│ │ ├── [4.5K] fake_bluetooth_av_interface.cc
│ │ ├── [3.0K] fake_bluetooth_av_interface.h
│ │ ├── [ 11K] fake_bluetooth_gatt_interface.cc
│ │ ├── [7.2K] fake_bluetooth_gatt_interface.h
│ │ ├── [4.9K] fake_bluetooth_interface.cc
│ │ └── [2.5K] fake_bluetooth_interface.h
│ ├── [4.0K] ipc
│ │ ├── [4.0K] binder
│ │ │ ├── [6.4K] bluetooth_a2dp_sink_binder_server.cc
│ │ │ ├── [3.1K] bluetooth_a2dp_sink_binder_server.h
│ │ │ ├── [7.6K] bluetooth_a2dp_source_binder_server.cc
│ │ │ ├── [3.3K] bluetooth_a2dp_source_binder_server.h
│ │ │ ├── [7.7K] bluetooth_avrcp_control_binder_server.cc
│ │ │ ├── [3.4K] bluetooth_avrcp_control_binder_server.h
│ │ │ ├── [ 12K] bluetooth_avrcp_target_binder_server.cc
│ │ │ ├── [5.4K] bluetooth_avrcp_target_binder_server.h
│ │ │ ├── [ 16K] bluetooth_binder_server.cc
│ │ │ ├── [8.2K] bluetooth_binder_server.h
│ │ │ ├── [2.7K] bluetooth_gatt_client_binder_server.cc
│ │ │ ├── [2.5K] bluetooth_gatt_client_binder_server.h
│ │ │ ├── [9.8K] bluetooth_gatt_server_binder_server.cc
│ │ │ ├── [5.1K] bluetooth_gatt_server_binder_server.h
│ │ │ ├── [5.8K] bluetooth_le_advertiser_binder_server.cc
│ │ │ ├── [3.0K] bluetooth_le_advertiser_binder_server.h
│ │ │ ├── [4.5K] bluetooth_le_scanner_binder_server.cc
│ │ │ ├── [3.0K] bluetooth_le_scanner_binder_server.h
│ │ │ ├── [5.8K] bluetooth_low_energy_binder_server.cc
│ │ │ ├── [3.2K] bluetooth_low_energy_binder_server.h
│ │ │ ├── [5.4K] interface_with_instances_base.cc
│ │ │ ├── [4.3K] interface_with_instances_base.h
│ │ │ ├── [2.5K] ipc_handler_binder.cc
│ │ │ ├── [1.2K] ipc_handler_binder.h
│ │ │ ├── [6.6K] remote_callback_list.h
│ │ │ └── [7.3K] remote_callback_map.h
│ │ ├── [4.0K] dbus
│ │ │ ├── [3.7K] bluetooth_adapter.cc
│ │ │ ├── [1.5K] bluetooth_adapter.h
│ │ │ ├── [2.0K] ipc_handler_dbus.cc
│ │ │ ├── [1.2K] ipc_handler_dbus.h
│ │ │ └── [ 754] org.fluoride.BluetoothAdapter.xml
│ │ ├── [ 911] ipc_handler.cc
│ │ ├── [1.7K] ipc_handler.h
│ │ ├── [6.5K] ipc_handler_linux.cc
│ │ ├── [2.6K] ipc_handler_linux.h
│ │ ├── [2.6K] ipc_manager.cc
│ │ ├── [3.4K] ipc_manager.h
│ │ ├── [ 11K] linux_ipc_host.cc
│ │ └── [3.5K] linux_ipc_host.h
│ ├── [4.5K] logging_helpers.cc
│ ├── [1.4K] logging_helpers.h
│ ├── [ 10K] low_energy_advertiser.cc
│ ├── [5.0K] low_energy_advertiser.h
│ ├── [7.7K] low_energy_client.cc
│ ├── [6.1K] low_energy_client.h
│ ├── [7.1K] low_energy_scanner.cc
│ ├── [5.4K] low_energy_scanner.h
│ ├── [2.6K] main.cc
│ ├── [2.9K] settings.cc
│ ├── [2.2K] settings.h
│ ├── [1.6K] switches.h
│ └── [4.0K] test
│ ├── [8.1K] a2dp_sink_unittest.cc
│ ├── [9.6K] adapter_unittest.cc
│ ├── [3.3K] advertise_data_unittest.cc
│ ├── [1.1K] fake_hal_util.cc
│ ├── [5.1K] gatt_client_unittest.cc
│ ├── [ 28K] gatt_server_unittest.cc
│ ├── [6.3K] ipc_linux_unittest.cc
│ ├── [ 22K] low_energy_advertiser_unittest.cc
│ ├── [9.8K] low_energy_client_unittest.cc
│ ├── [ 12K] low_energy_scanner_unittest.cc
│ ├── [1.0K] main.cc
│ ├── [2.6K] mock_adapter.h
│ ├── [1.1K] mock_daemon.h
│ ├── [1.1K] ParcelableTest.aidl
│ ├── [7.0K] parcelable_unittest.cc
│ ├── [3.1K] settings_unittest.cc
│ └── [1.2K] stub_ipc_handler_binder.cc
├── [4.0K] stack
│ ├── [4.0K] a2dp
│ │ ├── [ 52K] a2dp_aac.cc
│ │ ├── [3.4K] a2dp_aac_decoder.cc
│ │ ├── [ 27K] a2dp_aac_encoder.cc
│ │ ├── [ 14K] a2dp_api.cc
│ │ ├── [ 50K] a2dp_codec_config.cc
│ │ ├── [2.3K] a2dp_int.h
│ │ ├── [ 56K] a2dp_sbc.cc
│ │ ├── [3.0K] a2dp_sbc_decoder.cc
│ │ ├── [ 35K] a2dp_sbc_encoder.cc
│ │ ├── [ 13K] a2dp_sbc_up_sample.cc
│ │ ├── [ 35K] a2dp_vendor_aptx.cc
│ │ ├── [ 18K] a2dp_vendor_aptx_encoder.cc
│ │ ├── [ 37K] a2dp_vendor_aptx_hd.cc
│ │ ├── [ 18K] a2dp_vendor_aptx_hd_encoder.cc
│ │ ├── [ 21K] a2dp_vendor.cc
│ │ ├── [5.7K] a2dp_vendor_ldac_abr.cc
│ │ ├── [ 53K] a2dp_vendor_ldac.cc
│ │ ├── [9.7K] a2dp_vendor_ldac_decoder.cc
│ │ └── [ 31K] a2dp_vendor_ldac_encoder.cc
│ ├── [ 11K] Android.bp
│ ├── [4.0K] avct
│ │ ├── [ 14K] avct_api.cc
│ │ ├── [ 22K] avct_bcb_act.cc
│ │ ├── [4.1K] avct_ccb.cc
│ │ ├── [2.3K] avct_defs.h
│ │ ├── [9.3K] avct_int.h
│ │ ├── [ 13K] avct_l2c_br.cc
│ │ ├── [ 14K] avct_l2c.cc
│ │ ├── [ 20K] avct_lcb_act.cc
│ │ └── [ 13K] avct_lcb.cc
│ ├── [4.0K] avdt
│ │ ├── [ 20K] avdt_ad.cc
│ │ ├── [ 45K] avdt_api.cc
│ │ ├── [ 35K] avdt_ccb_act.cc
│ │ ├── [ 21K] avdt_ccb.cc
│ │ ├── [8.3K] avdt_defs.h
│ │ ├── [ 34K] avdt_int.h
│ │ ├── [ 17K] avdt_l2c.cc
│ │ ├── [ 58K] avdt_msg.cc
│ │ ├── [ 56K] avdt_scb_act.cc
│ │ └── [ 42K] avdt_scb.cc
│ ├── [4.0K] avrc
│ │ ├── [ 47K] avrc_api.cc
│ │ ├── [ 25K] avrc_bld_ct.cc
│ │ ├── [ 53K] avrc_bld_tg.cc
│ │ ├── [6.1K] avrc_int.h
│ │ ├── [8.1K] avrc_opt.cc
│ │ ├── [ 34K] avrc_pars_ct.cc
│ │ ├── [ 20K] avrc_pars_tg.cc
│ │ ├── [ 13K] avrc_sdp.cc
│ │ └── [7.1K] avrc_utils.cc
│ ├── [4.0K] bnep
│ │ ├── [ 24K] bnep_api.cc
│ │ ├── [8.3K] bnep_int.h
│ │ ├── [ 25K] bnep_main.cc
│ │ └── [ 42K] bnep_utils.cc
│ ├── [4.0K] btm
│ │ ├── [ 29K] ble_advertiser_hci_interface.cc
│ │ ├── [5.0K] ble_advertiser_hci_interface.h
│ │ ├── [ 94K] btm_acl.cc
│ │ ├── [ 15K] btm_ble_addr.cc
│ │ ├── [ 30K] btm_ble_adv_filter.cc
│ │ ├── [ 19K] btm_ble_batchscan.cc
│ │ ├── [ 17K] btm_ble_bgconn.cc
│ │ ├── [1.7K] btm_ble_bgconn.h
│ │ ├── [ 86K] btm_ble.cc
│ │ ├── [9.3K] btm_ble_connection_establishment.cc
│ │ ├── [3.1K] btm_ble_cont_energy.cc
│ │ ├── [ 92K] btm_ble_gap.cc
│ │ ├── [9.3K] btm_ble_int.h
│ │ ├── [9.9K] btm_ble_int_types.h
│ │ ├── [ 39K] btm_ble_multi_adv.cc
│ │ ├── [ 31K] btm_ble_privacy.cc
│ │ ├── [ 19K] btm_dev.cc
│ │ ├── [ 33K] btm_devctl.cc
│ │ ├── [ 96K] btm_inq.cc
│ │ ├── [ 14K] btm_int.h
│ │ ├── [ 34K] btm_int_types.h
│ │ ├── [3.5K] btm_main.cc
│ │ ├── [ 32K] btm_pm.cc
│ │ ├── [ 61K] btm_sco.cc
│ │ └── [222K] btm_sec.cc
│ ├── [4.0K] btu
│ │ ├── [ 75K] btu_hcif.cc
│ │ ├── [3.3K] btu_init.cc
│ │ └── [3.8K] btu_task.cc
│ ├── [7.3K] BUILD.gn
│ ├── [4.0K] crypto_toolbox
│ │ ├── [ 31K] aes.cc
│ │ ├── [6.3K] aes_cmac.cc
│ │ ├── [5.0K] aes.h
│ │ ├── [6.9K] crypto_toolbox.cc
│ │ └── [2.5K] crypto_toolbox.h
│ ├── [4.0K] gap
│ │ ├── [ 18K] gap_ble.cc
│ │ └── [ 39K] gap_conn.cc
│ ├── [4.0K] gatt
│ │ ├── [ 17K] att_protocol.cc
│ │ ├── [9.0K] connection_manager.cc
│ │ ├── [2.3K] connection_manager.h
│ │ ├── [ 44K] gatt_api.cc
│ │ ├── [ 15K] gatt_attr.cc
│ │ ├── [ 15K] gatt_auth.cc
│ │ ├── [ 38K] gatt_cl.cc
│ │ ├── [ 26K] gatt_db.cc
│ │ ├── [ 22K] gatt_int.h
│ │ ├── [ 34K] gatt_main.cc
│ │ ├── [ 41K] gatt_sr.cc
│ │ └── [ 42K] gatt_utils.cc
│ ├── [4.0K] hcic
│ │ ├── [ 27K] hciblecmds.cc
│ │ └── [ 44K] hcicmds.cc
│ ├── [4.0K] hid
│ │ ├── [2.1K] hid_conn.h
│ │ ├── [ 20K] hidd_api.cc
│ │ ├── [ 30K] hidd_conn.cc
│ │ ├── [2.3K] hidd_int.h
│ │ ├── [ 18K] hidh_api.cc
│ │ ├── [ 37K] hidh_conn.cc
│ │ └── [2.7K] hidh_int.h
│ ├── [4.0K] include
│ │ ├── [2.5K] a2dp_aac_constants.h
│ │ ├── [1.3K] a2dp_aac_decoder.h
│ │ ├── [2.0K] a2dp_aac_encoder.h
│ │ ├── [ 12K] a2dp_aac.h
│ │ ├── [8.8K] a2dp_api.h
│ │ ├── [ 34K] a2dp_codec_api.h
│ │ ├── [1.5K] a2dp_constants.h
│ │ ├── [3.4K] a2dp_error_codes.h
│ │ ├── [2.7K] a2dp_sbc_constants.h
│ │ ├── [1.3K] a2dp_sbc_decoder.h
│ │ ├── [2.3K] a2dp_sbc_encoder.h
│ │ ├── [ 12K] a2dp_sbc.h
│ │ ├── [7.3K] a2dp_sbc_up_sample.h
│ │ ├── [1.1K] a2dp_vendor_aptx_constants.h
│ │ ├── [2.0K] a2dp_vendor_aptx_encoder.h
│ │ ├── [6.8K] a2dp_vendor_aptx.h
│ │ ├── [1.3K] a2dp_vendor_aptx_hd_constants.h
│ │ ├── [2.1K] a2dp_vendor_aptx_hd_encoder.h
│ │ ├── [7.0K] a2dp_vendor_aptx_hd.h
│ │ ├── [9.6K] a2dp_vendor.h
│ │ ├── [2.0K] a2dp_vendor_ldac_abr.h
│ │ ├── [2.1K] a2dp_vendor_ldac_constants.h
│ │ ├── [1.3K] a2dp_vendor_ldac_decoder.h
│ │ ├── [2.2K] a2dp_vendor_ldac_encoder.h
│ │ ├── [ 11K] a2dp_vendor_ldac.h
│ │ ├── [4.5K] advertise_data_parser.h
│ │ ├── [ 11K] avct_api.h
│ │ ├── [ 39K] avdt_api.h
│ │ ├── [8.0K] avdtc_api.h
│ │ ├── [ 29K] avrc_api.h
│ │ ├── [ 54K] avrc_defs.h
│ │ ├── [6.8K] ble_advertiser.h
│ │ ├── [ 19K] bnep_api.h
│ │ ├── [ 88K] btm_api.h
│ │ ├── [ 67K] btm_api_types.h
│ │ ├── [ 31K] btm_ble_api.h
│ │ ├── [ 18K] btm_ble_api_types.h
│ │ ├── [ 34K] bt_types.h
│ │ ├── [2.3K] btu.h
│ │ ├── [ 15K] gap_api.h
│ │ ├── [ 40K] gatt_api.h
│ │ ├── [4.5K] gattdefs.h
│ │ ├── [ 75K] hcidefs.h
│ │ ├── [ 30K] hcimsgs.h
│ │ ├── [8.7K] hidd_api.h
│ │ ├── [4.9K] hiddefs.h
│ │ ├── [8.7K] hidh_api.h
│ │ ├── [3.6K] l2cap_client.h
│ │ ├── [ 50K] l2c_api.h
│ │ ├── [ 14K] l2cdefs.h
│ │ ├── [ 20K] pan_api.h
│ │ ├── [ 26K] port_api.h
│ │ ├── [1.2K] port_ext.h
│ │ ├── [2.8K] profiles_api.h
│ │ ├── [7.0K] rfcdefs.h
│ │ ├── [ 26K] sdp_api.h
│ │ ├── [ 14K] sdpdefs.h
│ │ ├── [8.3K] smp_api.h
│ │ ├── [9.5K] smp_api_types.h
│ │ └── [5.2K] srvc_api.h
│ ├── [4.0K] l2cap
│ │ ├── [ 15K] l2cap_client.cc
│ │ ├── [ 76K] l2c_api.cc
│ │ ├── [ 45K] l2c_ble.cc
│ │ ├── [ 53K] l2c_csm.cc
│ │ ├── [ 87K] l2c_fcr.cc
│ │ ├── [ 35K] l2c_int.h
│ │ ├── [ 47K] l2c_link.cc
│ │ ├── [ 34K] l2c_main.cc
│ │ └── [115K] l2c_utils.cc
│ ├── [4.0K] mcap
│ │ └── [ 20K] mca_cact.cc
│ ├── [4.0K] pan
│ │ ├── [ 25K] pan_api.cc
│ │ ├── [4.6K] pan_int.h
│ │ ├── [ 23K] pan_main.cc
│ │ └── [10.0K] pan_utils.cc
│ ├── [4.0K] rfcomm
│ │ ├── [ 56K] port_api.cc
│ │ ├── [8.6K] port_int.h
│ │ ├── [ 35K] port_rfc.cc
│ │ ├── [ 18K] port_utils.cc
│ │ ├── [ 13K] rfc_int.h
│ │ ├── [ 15K] rfc_l2cap_if.cc
│ │ ├── [ 21K] rfc_mx_fsm.cc
│ │ ├── [ 31K] rfc_port_fsm.cc
│ │ ├── [ 12K] rfc_port_if.cc
│ │ ├── [ 27K] rfc_ts_frames.cc
│ │ └── [ 15K] rfc_utils.cc
│ ├── [4.0K] sdp
│ │ ├── [ 40K] sdp_api.cc
│ │ ├── [ 31K] sdp_db.cc
│ │ ├── [ 32K] sdp_discovery.cc
│ │ ├── [ 11K] sdpint.h
│ │ ├── [ 22K] sdp_main.cc
│ │ ├── [ 29K] sdp_server.cc
│ │ └── [ 37K] sdp_utils.cc
│ ├── [4.0K] smp
│ │ ├── [1.9K] crypto_toolbox.h
│ │ ├── [2.2K] p_256_curvepara.cc
│ │ ├── [8.1K] p_256_ecc_pp.cc
│ │ ├── [1.9K] p_256_ecc_pp.h
│ │ ├── [ 13K] p_256_multprecision.cc
│ │ ├── [3.2K] p_256_multprecision.h
│ │ ├── [ 77K] smp_act.cc
│ │ ├── [ 19K] smp_api.cc
│ │ ├── [ 15K] smp_br_main.cc
│ │ ├── [ 21K] smp_int.h
│ │ ├── [ 36K] smp_keys.cc
│ │ ├── [ 12K] smp_l2c.cc
│ │ ├── [ 39K] smp_main.cc
│ │ └── [ 56K] smp_utils.cc
│ ├── [4.0K] srvc
│ │ ├── [ 15K] srvc_dis.cc
│ │ ├── [1.9K] srvc_dis_int.h
│ │ ├── [ 15K] srvc_eng.cc
│ │ └── [2.0K] srvc_eng_int.h
│ └── [4.0K] test
│ ├── [7.6K] ad_parser_unittest.cc
│ ├── [ 42K] ble_advertiser_test.cc
│ ├── [4.0K] common
│ │ ├── [1.8K] mock_btm_layer.cc
│ │ ├── [2.1K] mock_btm_layer.h
│ │ ├── [1.5K] mock_btsnoop_module.cc
│ │ ├── [ 890] mock_btu_layer.cc
│ │ ├── [2.1K] mock_l2cap_layer.cc
│ │ ├── [2.6K] mock_l2cap_layer.h
│ │ ├── [3.8K] stack_test_packet_utils.cc
│ │ └── [2.7K] stack_test_packet_utils.h
│ ├── [ 17K] crypto_toolbox_test.cc
│ ├── [ 10K] gatt_connection_manager_test.cc
│ ├── [4.0K] rfcomm
│ │ ├── [ 40K] stack_rfcomm_test.cc
│ │ ├── [2.4K] stack_rfcomm_test_main.cc
│ │ ├── [9.0K] stack_rfcomm_test_utils.cc
│ │ ├── [8.2K] stack_rfcomm_test_utils.h
│ │ └── [ 10K] stack_rfcomm_test_utils_test.cc
│ ├── [ 43K] stack_a2dp_test.cc
│ ├── [3.9K] stack_btu_test.cc
│ └── [9.0K] stack_smp_test.cc
├── [4.0K] test
│ ├── [ 44] Android.bp
│ ├── [ 14K] gen_coverage.py
│ ├── [2.6K] README.md
│ ├── [4.0K] rootcanal
│ │ ├── [2.4K] Android.bp
│ │ ├── [ 140] android.hardware.bluetooth@1.0-service.sim.rc
│ │ ├── [ 10K] bluetooth_hci.cc
│ │ ├── [3.2K] bluetooth_hci.h
│ │ └── [1.4K] service.cc
│ ├── [2.7K] run_benchmarks.sh
│ ├── [6.9K] run_host_unit_tests.py
│ ├── [2.9K] run_unit_tests.sh
│ └── [4.0K] suite
│ ├── [4.0K] adapter
│ │ ├── [7.6K] adapter_unittest.cc
│ │ ├── [5.4K] bluetooth_test.cc
│ │ └── [4.1K] bluetooth_test.h
│ ├── [1.3K] Android.bp
│ ├── [1.1K] BUILD.gn
│ ├── [4.0K] gatt
│ │ ├── [4.6K] gatt_test.cc
│ │ ├── [5.1K] gatt_test.h
│ │ └── [4.0K] gatt_unittest.cc
│ └── [4.0K] rfcomm
│ ├── [2.6K] rfcomm_test.cc
│ ├── [1.4K] rfcomm_test.h
│ └── [4.5K] rfcomm_unittest.cc
├── [1.3K] TEST_MAPPING
├── [4.0K] tools
│ ├── [ 37] Android.mk.disabled
│ ├── [4.0K] bdtool
│ │ ├── [8.1K] adapter.c
│ │ ├── [1.3K] Android.mk.disabled
│ │ └── [ 11K] bdtool.c
│ ├── [4.0K] hci
│ │ ├── [1.0K] Android.mk.disabled
│ │ └── [5.5K] main.c
│ └── [4.0K] scripts
│ ├── [4.8K] btsnooz.py
│ ├── [1.8K] change_types.sh
│ ├── [ 19K] dump_hearingaid_audio.py
│ ├── [5.2K] dump_metrics_ascii.py
│ └── [1.6K] viewbtsnoop.sh
├── [4.0K] types
│ ├── [1.0K] Android.bp
│ ├── [4.0K] bluetooth
│ │ ├── [4.9K] uuid.cc
│ │ └── [4.6K] uuid.h
│ ├── [1.2K] BUILD.gn
│ ├── [2.5K] class_of_device.cc
│ ├── [1.8K] class_of_device.h
│ ├── [2.3K] raw_address.cc
│ ├── [2.3K] raw_address.h
│ └── [4.0K] test
│ ├── [4.0K] bluetooth
│ │ └── [6.3K] uuid_unittest.cc
│ ├── [2.9K] class_of_device_unittest.cc
│ └── [5.7K] raw_address_unittest.cc
├── [4.0K] udrv
│ ├── [ 370] Android.bp
│ ├── [ 815] BUILD.gn
│ ├── [4.0K] include
│ │ └── [3.7K] uipc.h
│ └── [4.0K] ulinux
│ └── [ 21K] uipc.cc
├── [4.0K] utils
│ ├── [ 434] Android.bp
│ ├── [ 812] BUILD.gn
│ ├── [4.0K] include
│ │ └── [1.4K] bt_utils.h
│ └── [4.0K] src
│ └── [4.6K] bt_utils.cc
├── [4.0K] vendor_libs
│ ├── [ 50] Android.bp
│ ├── [4.0K] linux
│ │ ├── [ 31] Android.bp
│ │ └── [4.0K] interface
│ │ ├── [1.3K] Android.bp
│ │ ├── [ 185] android.hardware.bluetooth@1.0-service.btlinux.rc
│ │ ├── [4.9K] async_fd_watcher.cc
│ │ ├── [1.8K] async_fd_watcher.h
│ │ ├── [8.7K] bluetooth_hci.cc
│ │ ├── [2.3K] bluetooth_hci.h
│ │ ├── [3.6K] h4_protocol.cc
│ │ ├── [1.6K] h4_protocol.h
│ │ ├── [1.6K] hci_internals.h
│ │ ├── [2.9K] hci_packetizer.cc
│ │ ├── [1.5K] hci_packetizer.h
│ │ └── [1.4K] service.cc
│ └── [4.0K] test_vendor_lib
│ ├── [3.6K] Android.bp
│ ├── [4.0K] data
│ │ └── [ 290] controller_properties.json
│ ├── [4.0K] desktop
│ │ ├── [1.9K] root_canal_main.cc
│ │ ├── [5.6K] test_environment.cc
│ │ └── [2.6K] test_environment.h
│ ├── [4.0K] include
│ │ ├── [1.2K] acl.h
│ │ ├── [4.0K] hci
│ │ │ ├── [2.8K] event_code.h
│ │ │ ├── [1.3K] le_sub_event_code.h
│ │ │ ├── [ 14K] op_code.h
│ │ │ └── [1.4K] status.h
│ │ ├── [1.3K] hci.h
│ │ ├── [ 904] inquiry.h
│ │ ├── [1.1K] le_advertisement.h
│ │ ├── [1.2K] link.h
│ │ ├── [ 769] phy.h
│ │ └── [1003] sco.h
│ ├── [4.0K] model
│ │ ├── [4.0K] controller
│ │ │ ├── [ 820] acl_connection.cc
│ │ │ ├── [1.4K] acl_connection.h
│ │ │ ├── [3.5K] acl_connection_handler.cc
│ │ │ ├── [1.8K] acl_connection_handler.h
│ │ │ ├── [ 48K] dual_mode_controller.cc
│ │ │ ├── [ 13K] dual_mode_controller.h
│ │ │ ├── [ 46K] link_layer_controller.cc
│ │ │ ├── [ 11K] link_layer_controller.h
│ │ │ ├── [4.9K] security_manager.cc
│ │ │ └── [2.9K] security_manager.h
│ │ ├── [4.0K] devices
│ │ │ ├── [3.5K] beacon.cc
│ │ │ ├── [1.5K] beacon.h
│ │ │ ├── [2.1K] beacon_swarm.cc
│ │ │ ├── [1.3K] beacon_swarm.h
│ │ │ ├── [4.7K] broken_adv.cc
│ │ │ ├── [1.7K] broken_adv.h
│ │ │ ├── [2.8K] car_kit.cc
│ │ │ ├── [1.5K] car_kit.h
│ │ │ ├── [1.7K] classic.cc
│ │ │ ├── [1.2K] classic.h
│ │ │ ├── [2.0K] device.cc
│ │ │ ├── [3.0K] device.h
│ │ │ ├── [4.1K] device_properties.cc
│ │ │ ├── [7.2K] device_properties.h
│ │ │ ├── [6.9K] h4_packetizer.cc
│ │ │ ├── [2.4K] h4_packetizer.h
│ │ │ ├── [3.6K] h4_protocol.cc
│ │ │ ├── [1.3K] h4_protocol.h
│ │ │ ├── [4.4K] hci_packetizer.cc
│ │ │ ├── [2.2K] hci_packetizer.h
│ │ │ ├── [1.4K] hci_protocol.cc
│ │ │ ├── [1.2K] hci_protocol.h
│ │ │ ├── [3.8K] hci_socket_device.cc
│ │ │ ├── [1.7K] hci_socket_device.h
│ │ │ ├── [2.9K] keyboard.cc
│ │ │ ├── [1.3K] keyboard.h
│ │ │ ├── [2.1K] link_layer_socket_device.cc
│ │ │ ├── [1.7K] link_layer_socket_device.h
│ │ │ ├── [3.6K] loopback.cc
│ │ │ ├── [1.5K] loopback.h
│ │ │ ├── [2.7K] polled_socket.cc
│ │ │ ├── [1.4K] polled_socket.h
│ │ │ ├── [2.4K] remote_loopback_device.cc
│ │ │ ├── [1.3K] remote_loopback_device.h
│ │ │ ├── [4.5K] server_port_factory.cc
│ │ │ ├── [1.5K] server_port_factory.h
│ │ │ ├── [1.7K] sniffer.cc
│ │ │ └── [1.4K] sniffer.h
│ │ └── [4.0K] setup
│ │ ├── [ 17K] async_manager.cc
│ │ ├── [5.1K] async_manager.h
│ │ ├── [1.7K] device_boutique.cc
│ │ ├── [1.5K] device_boutique.h
│ │ ├── [3.1K] phy_layer_factory.cc
│ │ ├── [2.0K] phy_layer_factory.h
│ │ ├── [1.5K] phy_layer.h
│ │ ├── [4.9K] test_channel_transport.cc
│ │ ├── [2.0K] test_channel_transport.h
│ │ ├── [7.6K] test_command_handler.cc
│ │ ├── [2.7K] test_command_handler.h
│ │ ├── [6.4K] test_model.cc
│ │ └── [3.2K] test_model.h
│ ├── [4.0K] packets
│ │ ├── [2.1K] Android.bp
│ │ ├── [1.2K] base_packet_builder.h
│ │ ├── [1.3K] counted_builder.cc
│ │ ├── [1.3K] counted_builder.h
│ │ ├── [4.0K] hci
│ │ │ ├── [2.4K] acl_packet_builder.cc
│ │ │ ├── [1.9K] acl_packet_builder.h
│ │ │ ├── [2.1K] acl_packet_view.cc
│ │ │ ├── [1.5K] acl_packet_view.h
│ │ │ ├── [1.5K] command_packet_builder.cc
│ │ │ ├── [1.6K] command_packet_builder.h
│ │ │ ├── [1.5K] command_packet_view.cc
│ │ │ ├── [1.3K] command_packet_view.h
│ │ │ ├── [ 38K] event_packet_builder.cc
│ │ │ ├── [ 20K] event_packet_builder.h
│ │ │ ├── [2.6K] event_payload_builder.cc
│ │ │ ├── [2.3K] event_payload_builder.h
│ │ │ ├── [1.0K] hci_packet_builder.cc
│ │ │ ├── [1.1K] hci_packet_builder.h
│ │ │ ├── [6.2K] le_meta_event_builder.cc
│ │ │ ├── [4.0K] le_meta_event_builder.h
│ │ │ ├── [1.6K] sco_packet_builder.cc
│ │ │ ├── [1.8K] sco_packet_builder.h
│ │ │ ├── [1.7K] sco_packet_view.cc
│ │ │ ├── [1.4K] sco_packet_view.h
│ │ │ └── [4.0K] test
│ │ │ ├── [4.3K] acl_builder_test.cc
│ │ │ └── [5.5K] event_builder_test.cc
│ │ ├── [4.0K] iterator.cc
│ │ ├── [2.5K] iterator.h
│ │ ├── [4.0K] link_layer
│ │ │ ├── [1.6K] command_builder.h
│ │ │ ├── [1.4K] command_view.h
│ │ │ ├── [1.4K] disconnect_builder.h
│ │ │ ├── [1.3K] disconnect_view.h
│ │ │ ├── [1.5K] encrypt_connection_builder.h
│ │ │ ├── [1.5K] encrypt_connection_view.h
│ │ │ ├── [1.5K] inquiry_builder.h
│ │ │ ├── [4.9K] inquiry_response_builder.h
│ │ │ ├── [2.0K] inquiry_response_view.h
│ │ │ ├── [1.3K] inquiry_view.h
│ │ │ ├── [2.0K] io_capability_builder.h
│ │ │ ├── [1.5K] io_capability_negative_response_builder.h
│ │ │ ├── [1.5K] io_capability_negative_response_view.h
│ │ │ ├── [1.5K] io_capability_view.h
│ │ │ ├── [2.2K] le_advertisement_builder.h
│ │ │ ├── [1.7K] le_advertisement_view.h
│ │ │ ├── [8.8K] link_layer_packet_builder.cc
│ │ │ ├── [5.6K] link_layer_packet_builder.h
│ │ │ ├── [1.8K] link_layer_packet_view.cc
│ │ │ ├── [1.4K] link_layer_packet_view.h
│ │ │ ├── [1.7K] page_builder.h
│ │ │ ├── [1.5K] page_response_builder.h
│ │ │ ├── [1.3K] page_response_view.h
│ │ │ ├── [1.3K] page_view.h
│ │ │ ├── [1.5K] response_builder.h
│ │ │ ├── [1.4K] response_view.h
│ │ │ └── [1.5K] view_forwarder_builder.h
│ │ ├── [3.3K] packet_builder.h
│ │ ├── [3.3K] packet_view.cc
│ │ ├── [1.8K] packet_view.h
│ │ ├── [2.6K] raw_builder.cc
│ │ ├── [2.2K] raw_builder.h
│ │ ├── [4.0K] test
│ │ │ ├── [2.8K] counted_builder_test.cc
│ │ │ ├── [ 25K] link_layer_packet_builder_test.cc
│ │ │ ├── [7.8K] packet_builder_test.cc
│ │ │ ├── [ 19K] packet_view_test.cc
│ │ │ └── [2.0K] raw_builder_test.cc
│ │ ├── [1.4K] view.cc
│ │ └── [1.2K] view.h
│ ├── [4.0K] scripts
│ │ ├── [4.3K] build_and_run.sh
│ │ ├── [ 14K] hci_socket.py
│ │ ├── [5.8K] link_layer_socket.py
│ │ ├── [6.0K] send_simple_commands.py
│ │ ├── [5.6K] simple_link_layer_socket.py
│ │ ├── [6.3K] simple_stack.py
│ │ └── [8.1K] test_channel.py
│ ├── [4.0K] test
│ │ ├── [4.6K] async_manager_unittest.cc
│ │ ├── [7.3K] iterator_test.cc
│ │ ├── [5.0K] l2cap_sdu_test.cc
│ │ ├── [ 19K] l2cap_test.cc
│ │ ├── [ 10K] link_layer_socket_device_test.cc
│ │ ├── [7.8K] packet_builder_test.cc
│ │ ├── [4.9K] packet_stream_unittest.cc
│ │ ├── [2.4K] polled_socket_test.cc
│ │ └── [4.2K] security_manager_unittest.cc
│ └── [4.0K] types
│ ├── [2.2K] address.cc
│ ├── [2.3K] address.h
│ ├── [1.1K] Android.bp
│ ├── [4.0K] bluetooth
│ │ ├── [4.9K] uuid.cc
│ │ └── [4.6K] uuid.h
│ ├── [1.2K] BUILD.gn
│ ├── [2.4K] class_of_device.cc
│ ├── [1.8K] class_of_device.h
│ └── [4.0K] test
│ ├── [5.7K] address_unittest.cc
│ ├── [4.0K] bluetooth
│ │ └── [6.0K] uuid_unittest.cc
│ └── [2.9K] class_of_device_unittest.cc
└── [4.0K] vnd
├── [4.0K] ble
│ └── [1.9K] vendor_hcidefs.h
└── [4.0K] include
└── [ 770] vendor_api.h
191 directories, 1433 files
备注
1. 建议优先通过来源进行访问。
2. 如果因为来源失效或无法访问,请发送邮箱到 f.jinxu#gmail.com 索取本地快照(把 # 换成 @)。
3. 神龙已为您对POC代码进行快照,为了长期维护,请考虑为本地POC付费,感谢您的支持。