POC详情: 99b062c8e3e909214cf4db9b0e8211eac7cbbdd1

来源
关联漏洞
标题: 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/99b062c8e3e909214cf4db9b0e8211eac7cbbdd1 ├── [ 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付费,感谢您的支持。