summaryrefslogtreecommitdiff
path: root/android/hal-bluetooth.c
Commit message (Collapse)AuthorAgeFilesLines
* android: Add SPDX License IdentifierTedd Ho-Jeong An2020-09-211-12/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds SPDX License Identifier and removes the license text. ------------------------------------- License COUNT ------------------------------------- Apache-2.0 : 80 LGPL-2.1-or-later : 42 GPL-2.0-or-later : 9 License: Apache-2.0 android/bluetoothd-wrapper.c android/tester-hidhost.c android/tester-map-client.c android/hal-audio-aptx.c android/hal-audio.c android/hal-handsfree-client.c android/tester-gatt.c android/hal-pan.c android/hal-socket.c android/tester-hdp.c android/tester-pan.c android/tester-avrcp.c android/hal-a2dp-sink.c android/hal-gatt.c android/hal-avrcp.c android/tester-a2dp.c android/hal-audio.h android/hal-bluetooth.c android/tester-socket.c android/hal-health.c android/hal-a2dp.c android/hal-ipc.c android/hal-avrcp-ctrl.c android/hal-sco.c android/hal-ipc.h android/tester-main.c android/hal-audio-sbc.c android/hal-utils.c android/hal-map-client.c android/hal-handsfree.c android/hal-log.h android/hal.h android/hal-utils.h android/tester-bluetooth.c android/hal-hidhost.c android/audio_utils/resampler.h android/audio_utils/resampler.c android/system/audio.h android/hardware/bt_sock.h android/hardware/bt_gatt_client.h android/hardware/bt_hh.h android/hardware/bluetooth.h android/hardware/hardware.h android/hardware/bt_hf_client.h android/hardware/bt_rc.h android/hardware/bt_hf.h android/hardware/bt_pan.h android/hardware/bt_gatt_types.h android/hardware/hardware.c android/hardware/audio_effect.h android/hardware/audio.h android/hardware/bt_gatt_server.h android/hardware/bt_gatt.h android/hardware/bt_hl.h android/hardware/bt_mce.h android/hardware/bt_av.h android/client/if-hh.c android/client/if-sco.c android/client/pollhandler.h android/client/haltest.c android/client/tabcompletion.c android/client/if-hf-client.c android/client/history.h android/client/if-audio.c android/client/terminal.h android/client/if-av.c android/client/if-main.h android/client/if-av-sink.c android/client/terminal.c android/client/if-mce.c android/client/if-hf.c android/client/pollhandler.c android/client/if-sock.c android/client/if-rc-ctrl.c android/client/if-rc.c android/client/history.c android/client/if-pan.c android/client/if-gatt.c android/client/if-bt.c android/client/if-hl.c License: LGPL-2.1-or-later android/sco.h android/socket.c android/tester-main.h android/hidhost.h android/map-client.h android/utils.h android/hal-msg.h android/health.h android/avrcp-lib.c android/bluetoothd-snoop.c android/a2dp.c android/bluetooth.h android/a2dp-sink.c android/handsfree-client.c android/audio-msg.h android/main.c android/pan.c android/ipc-tester.c android/health.c android/socket.h android/handsfree.h android/avrcp-lib.h android/a2dp-sink.h android/system-emulator.c android/gatt.c android/avrcp.h android/pan.h android/test-ipc.c android/hidhost.c android/a2dp.h android/avrcp.c android/sco-msg.h android/bluetooth.c android/map-client.c android/handsfree-client.h android/ipc.c android/handsfree.c android/gatt.h android/ipc.h android/ipc-common.h android/compat/wordexp.h android/cutils/properties.h License: GPL-2.0-or-later android/avdtp.h android/avctp.c android/avdtptest.c android/sco.c android/log.c android/avdtp.c android/avctp.h android/compat/readline/history.h android/compat/readline/readline.h
* android/hal-bluetooth: Fix unaligned struct accessBastien Nocera2019-05-131-1/+3
| | | | | | | android/hal-bluetooth.c: In function ‘set_adapter_property’: android/hal-bluetooth.c:659:46: error: taking address of packed member of ‘struct hal_cmd_set_adapter_prop’ may result in an unaligned pointer value [-Werror=address-of-packed-member] 659 | adapter_prop_from_hal(property, &cmd->type, &cmd->len, cmd->val); | ^~~~~~~~~
* build: Move declaration of _GNU_SOURCE back into individual source filesMarcel Holtmann2018-12-061-0/+1
|
* android/hal-bluetooth: Fix NULL ptr dereferenceAtul Rai2015-07-271-0/+6
| | | | | Add NULL check on malloc return to fix NULL pointer dereference in case malloc fails.
* android/socket: Add support for dynamic MAP recordSzymon Janc2014-12-101-1/+6
| | | | | | | | | | Android 5.0 uses service name (sic!) for defining instance ID and supported message types. Name passed is in format of "XXYYname" where XX is hex coded instance and YY is hex coded message types mask. This patch adds new mode for Socket HAL in which daemon tries to extract instance ID and message types from service name.
* android: List all enum values in switchSzymon Janc2014-12-081-0/+15
| | | | As described in coding style M10.
* android: Fix crash on android-testerLuiz Augusto von Dentz2014-12-031-2/+2
| | | | | | | | | | | | | | | | | | When doing the HAL cleanup the callbacks should be reset to NULL after calling hal_ipc_unregister otherwise an handler may be called leading to invalid reads: BlueZ D: android/hal-a2dp.c:cleanup() bluetoothd[2624]: android/avdtp.c:connection_lost() Disconnected: Input/output error (5) bluetoothd[2624]: android/avdtp.c:avdtp_ref() 0x5841900: ref=2 bluetoothd[2624]: android/a2dp.c:bt_a2dp_notify_state() device 00:AA:01:01:00:00 state 0 ==2564== Thread 3: ==2564== Invalid read of size 8 ==2564== at 0x6B66B47: handle_conn_state (hal-a2dp.c:38) ==2564== by 0x6B6CDB3: notification_handler (hal-ipc.c:125) ==2564== by 0x5368EE4: start_thread (in /usr/lib64/libpthread-2.18.so) ==2564== by 0x5672B8C: clone (in /usr/lib64/libc-2.18.so) ==2564== Address 0x8 is not stack'd, malloc'd or (recently) free'd
* android/hal: Add HAL for A2DP Sink roleJakub Tyszkowski2014-11-251-0/+3
| | | | | | This role was introduced with some devices in Android 5. The same set of IPC structs and defines is used as in Sink as it uses the same HAL API as Source does, but just yet another instance of HAL.
* android/hal-bluetooth: Implement read_energy_infoMarcin Kraglak2014-11-241-2/+26
|
* android/hal-bluetooth: Implement get_connection_stateMarcin Kraglak2014-11-241-2/+17
|
* android: Fix not setting max_clientsLuiz Augusto von Dentz2014-11-171-0/+2
| | | | If max_clients is not set the ipc send uninitialized bytes.
* android/hal-avrcp: Add suuport for new AVRCP ctrl interfaceRavi kumar Veeramally2014-11-111-0/+3
|
* android: Remove temporary BLUEZ_EXTENSION flagAndrei Emeltchenko2014-11-071-1/+1
| | | | | BLUEZ_EXTENSION is replaced by ANDROID_VERSION >= PLATFORM_VER(5, 0, 0) check.
* android/hal-bluetooth: Add missing functionsAndrei Emeltchenko2014-11-041-0/+34
| | | | Add missing HAL functions for new Android version
* android/hal-bluetooth: Add parameter to create_bondAndrei Emeltchenko2014-11-041-1/+15
| | | | | | | Add parameter to create_bond following new bluetooth.h HAL, transport is defined in bluedroid include/bt_types.h. Bluetooth daemon shall check transport parameter and make needed decisions, by default parameter is unknown and this is the way bluedroid manage it itself.
* android/hal-map-client: Add skeleton for MAP client HALGrzegorz Kolodziejczyk2014-10-081-0/+3
| | | | This adds skeleton with stubs and proper build system entries.
* android: Add support for FW and HW revision config optionsSzymon Janc2014-10-021-0/+10
|
* android: Add support for more configuration optionsSzymon Janc2014-10-021-0/+15
| | | | This adds support for system ID, serial number and PnP ID options.
* android/hal-bluetooth: Fix wrong length in configuration commandSzymon Janc2014-09-231-14/+6
| | | | | | | | | | | | | | | | | | | | | HAL was sending extra byte at the end of command. Refactor code to use pointer + offset and avoid less intuitive pointers subtraction. Syscall param sendmsg(msg.msg_iov[1]) points to uninitialised byte(s) at 0x53529BD: ??? (syscall-template.S:81) by 0x6D96197: hal_ipc_cmd (hal-ipc.c:369) by 0x6D8D41E: send_configuration (hal-bluetooth.c:453) by 0x6D8EC16: init (hal-bluetooth.c:489) by 0x412B20: setup (tester-main.c:1411) by 0x40CE05: setup_callback (tester.c:394) by 0x5083CE4: g_main_context_dispatch (in /lib/x86_64-linux-gnu/ libglib-2.0.so.0.4000.0) by 0x5084047: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4000.0) by 0x5084309: g_main_loop_run (in /lib/x86_64-linux-gnu/ libglib-2.0.so.0.4000.0) by 0x40DB4C: tester_run (tester.c:815) by 0x40259E: main (tester-main.c:2335) Address 0xffefffe31 is on thread 1's stack
* android: Use helper for accesing Android propertiesSzymon Janc2014-09-221-15/+9
|
* android/hal-bluetooth: Add support for sending configurationSzymon Janc2014-09-221-0/+57
|
* android/handsfree-client: Add handsfree-client HAL skeletonLukasz Rymanowski2014-09-181-0/+5
| | | | | | | | | | This patch also introduce BLUEZ_EXTENSIONS flag which is used for not Android AOSP features like HF Client in this case. Idea is that BfA for PC is always build with this flag and it is added to Makefile.am For Android there is need to set this flag as described in README
* android: Fix using plain integer as NULL pointerLuiz Augusto von Dentz2014-07-031-28/+25
|
* android/hal-ipc: Pass FD to notification handlersSzymon Janc2014-06-121-11/+11
|
* android/hal-ipc: Move daemon starting to bluetooth HALSzymon Janc2014-06-121-0/+8
|
* android/hal-ipc: Split IPC init and accept to separate functionsSzymon Janc2014-06-121-3/+7
| | | | | This allows to perform custom action between listening and accepting eg starting bluetoothd.
* android/hal-ipc: Allow to pass custom path to IPCSzymon Janc2014-06-121-1/+1
|
* android/hal-bluetooth: Use compact syntax for event handlersSzymon Janc2014-06-101-58/+32
|
* android: Make multi-line comments style consistentSzymon Janc2014-04-291-2/+4
| | | | | Use common style for multi-line comments consistent with rest of codebase.
* android/bluetooth: Make possible to start BlueZ in a single modeLukasz Rymanowski2014-04-241-1/+18
| | | | | This patch adds possibility to start BlueZ in LE or BR/EDR mode when having dual mode chip below.
* android: Fix some random code style issuesSzymon Janc2014-03-201-1/+1
| | | | Fix whitespace problems and not needed empty lines.
* android/hal-bluetooth: Fix passing uninitialized mode on initSzymon Janc2014-03-141-0/+1
| | | | | | | | | | | | | | | | | | This fix following Valgrind report: Syscall param sendmsg(msg.msg_iov[1]) points to uninitialised byte(s) at 0x534823D: ??? (syscall-template.S:81) by 0x5F68689: hal_ipc_cmd (hal-ipc.c:357) by 0x5F6240B: init (hal-bluetooth.c:437) by 0x4128C0: setup_base (android-tester.c:2594) by 0x40DDE5: setup_callback (tester.c:380) by 0x50803B5: g_main_context_dispatch (in /lib/x86_64-linux-gnu/ libglib-2.0.so.0.3800.1) by 0x5080707: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3800.1) by 0x5080B09: g_main_loop_run (in /lib/x86_64-linux-gnu/ libglib-2.0.so.0.3800.1) by 0x40EA0C: tester_run (tester.c:798) by 0x404475: main (android-tester.c:4864) Address 0x7ff0002b1 is on thread 1's stack
* android/hal-health: Add hal-health.c with initial get interface callRavi kumar Veeramally2014-03-141-0/+3
|
* android/hal: Update services register commands with mode parameterSzymon Janc2014-03-041-0/+1
|
* android/hal-gatt: Add skeleton for GATT HALJakub Tyszkowski2014-03-031-0/+3
| | | | This adds skeleton with stubs and proper build system entries.
* android: Create comon header for IPCSzymon Janc2014-02-281-4/+5
| | | | | | | | | This header contains IPC specific structures and code not related to BT and audio HAL protocols. This allows to fully decouple IPC from HAL messages. This is first step to make HAL part of IPC unit-testable and reusable between BT HAL and audio HAL.
* android: Update socket service id name to match service nameSzymon Janc2014-02-241-1/+1
|
* android/hal-bluetooth: Use fixed size buffers for commandsSzymon Janc2014-02-211-17/+27
| | | | This make code follow same conventions for all commands.
* android/hal-socket: Match functions names with HAL nameSzymon Janc2014-02-191-1/+1
|
* android/handsfree: Add initial filesSzymon Janc2014-02-051-0/+3
| | | | This adds initial HAL and daemon code for Handsfree profile.
* android: Add initial skeleton for AVRCP in the HALLuiz Augusto von Dentz2014-01-261-0/+3
|
* android/hal: Update property used for start/stop servicesSzymon Janc2014-01-171-8/+5
|
* android: Remove support for old Android versionsSzymon Janc2014-01-141-14/+0
| | | | | | This removes compatibility with Android 4.3 and older. Android 4.4 is current target. Due to bug in Audio HAL in 4.2 build was failing on that version anyway.
* android/hal-bluetooth: Add debug print to config_hci_snoop_logSzymon Janc2014-01-011-0/+2
| | | | Improves debugs and make it consistent with other methods.
* android/hal-bluetooth: Update snoop service nameSzymon Janc2014-01-011-1/+1
| | | | | Match service name with android snoop binary name. It is more common to use '-' instead of '_' in the code for binaries name.
* android/bluetooth: Remove not needed local variableSzymon Janc2013-12-201-5/+2
| | | | | Both manufacturer and sub_version already have correct type and struct is marked as packed so there is no need to memcpy to temp variable.
* android/bluetooth-hal: Fix using wrong struct for buffer sizeSzymon Janc2013-12-201-1/+1
| | | | Buffer is for hal_cmd_le_test_mode command.
* android/hal-bluetooth: Free device on close()Andrei Emeltchenko2013-12-201-0/+2
|
* android/hal-bluetooth: Add support for device service record propertySzymon Janc2013-12-201-0/+15
| | | | This allows to correctly handle device service record property.
* android/hal-bluetooth: Add support for remote version info propertySzymon Janc2013-12-201-1/+20
| | | | | | This allows to correctly handle remote version info property. Although this property is marked as get/set in HAL only get is implemented as I fail to see how this property could be settable.