History log of /system/bt/stack/include/btu.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
b7b747369200c0c6588e3099cedc6cfc454e14e0 19-Jun-2017 Jakub Pawlowski <jpawlowski@google.com> Unify the empty and any address usage

Test: compilation test
Change-Id: Ic7fae4aa6c6c32e08fbca257dd3629f4f8df92f0
/system/bt/stack/include/btu.h
c2276b06572ab6fc1f900fbb1f41087e77d47e2a 10-Jun-2017 Jakub Pawlowski <jpawlowski@google.com> Use bt_bdaddr_t instead of BD_ADDR

Test: compilation test, sl4a GattReadTest
Change-Id: I8d1bd6914aec55bb53495b1d0d5e3d37b86865e6
/system/bt/stack/include/btu.h
2b7e9058076f1b6afde219b4d7a36368ca97d7fc 01-Mar-2017 Ajay Panicker <apanicke@google.com> Swap BTA and HCI queues with message loops

Swapping out the queues with base::MessageLoop allows for an easier refactor
of alarms as we can just replace them with an instance of base::Timer. Also
refactored out the data_dispatcher as most of the code wasn't being used.

Bug: 37245162
Test: Bluetooth sanity test and listening to music
added net_test_btu_message_loop
Change-Id: I73c359f07a225733dc89f51422a6a24ce807c593
/system/bt/stack/include/btu.h
d56ef465026b24bfee356f2dabccffe6eab5d21f 12-Sep-2016 Myles Watson <mylesgw@google.com> Remove LPM code from the stack

Power management is handled in hardware/interfaces/bluetooth/.

Test: mma -j32
Change-Id: Ie172ca37059768a2cfa0d4b84f34b54624b1fa49
/system/bt/stack/include/btu.h
dabf8d36c6a6896953fff4a12365716d438f173a 28-Dec-2016 Jakub Pawlowski <jpawlowski@google.com> HCI interface improvements

This patch improves btu_hcif_send_cmd_with_cb, which will accept
base::Callback instead of function pointer as argument. It will also
carry information about where was packet send from, which can be
displayed when command status is received, greatly improving logs.

The improved method is also used for handling VSC advertising.

Bug: 30622771
Test: sl4a ConcurrentBleAdvertiserTest
Change-Id: I55c3e32f9231c00bfa85f971265809d6f1fecdfb
/system/bt/stack/include/btu.h
ad1e23d50e431fb82ff1b8d3ce02f64ca0c5a940 10-Dec-2016 Jack He <siyuanh@google.com> Remove extern "C" from header files

Since change 290046, most files in system/bt is compiled as C++ source.
Therefore, there is no longer a need for the extern "C" wrapper around
includes that export symbols from those sources.

The following python script is applied to each file in the directory:

front = '#ifdef\s+__cplusplus\s+extern\s+"C"\s+{\s+#endif\s+'
back = '#ifdef\s+__cplusplus\s+}\s+#endif'
with open(sys.argv[1], "r") as f:
data = f.read()
data = re.sub(front, "", data)
data = re.sub(back, "", data)
print data

through a shell script:

for file in $(find . -name "*.h"); do
python remove_cpp_extern_c.py $file > tmp
cat tmp > $file
rm tmp
done

with following files not edited:
* stack/include/a2dp_*
* include/bt_trace.h
* embdrv/sbc/*

Bug: 33492510
Test: Code compilation, BtFunhausMetricsTest, BtStressTest
Change-Id: Iac21cdfb1924b50478dd0b82326e092602cbc9d4
/system/bt/stack/include/btu.h
911d1ae03efec2d54c3b1b605589d790d1745488 29-Nov-2016 Myles Watson <mylesgw@google.com> Apply clang-format to the rest of the tree

find * | grep "\.[ch]" | xargs clang-format --style=file -i

Test: mma -j32
Change-Id: I6fcc9862bb7bc07c2a367ca58fef2b3cd27a6f05
/system/bt/stack/include/btu.h
ee96a3c60fca590d38025925c072d264e06493c4 23-Nov-2016 Myles Watson <mylesgw@google.com> Fix asterisks in block quotes

Remove double asterisks from block quotes.

git grep -lP '^[*][*]' | xargs sed 's/^[*][*]/ \*/' -i

Fix asterisk line lengths

git grep -l '^[ /][*]\{79,\}[*/]' | \
xargs sed -i s,"^\([ /]\)[*]\([*]\{78\}\)[*]*\([*/]\)","\1\2\3",

Test: mma -j32
Change-Id: Ie3fd375ac2f804cb0f53bf1314a005e85973b3d7
/system/bt/stack/include/btu.h
b2a292b5d8df2f359c38b0787bc01181225a9bc9 15-Oct-2016 Pavlin Radoslavov <pavlin@google.com> Renamed most C files to C++: *.c to *.cc

Also:
- Fixed C++ related compilation errors.
- Added missing 'extern "C"' guards in some of the header files.
- Added missing LOCAL_CPP_EXTENSION to Android.mk files.
- Added-back btif/src/btif_mce.cc and bta/mce/bta_mce_* to
btif/Android.mk and bta/Android.mk respectively.
- Fixed the alphabetical ordering of the *.cc files in some
of the Android.mk files.
- Added missing Copyright header to "osi/include/list.h"
- Updated "osi/src/wakelock.cc" to use C++ std::string
instead of dynamic allocation of C-style strings.

Test: code compilation, unit tests, and A2DP streaming
Change-Id: Ia2f7215ed9df32775c701b68fc86b09875b942c7
/system/bt/stack/include/btu.h
d19e0785e662e640191a075eda07acce61c2aeda 15-Jul-2016 Marie Janssen <jamuraa@google.com> Use standard types, consistent ifdef style everywhere

Remove the typedefs in stack/include/bt_types.h

Use standard types everywhere.
Use standard style for #if statements:
- #if (VAR_NAME == TRUE)
- #if (VAR_NAME1 == TRUE && VAR_NAME2 == TRUE)
Use __func__ instead of __FUNCTION__
Fix some debug statements to use __func__

Update script to be less disruptive to aligned assignment blocks.

Change-Id: I8f8f068e6c26ce74fd3b3707e1e31fd0b919cdd0
/system/bt/stack/include/btu.h
3d6accfcc0bdc5c7a8713320c9bb069cbf253348 11-May-2016 Bryce Lee <brycelee@google.com> Move extern "C" to top of headers and remove tBTA_HF_CLIENT_HDR.

Previously, extern "C" was placed in various locations within the header
files, sometimes below actual struct declarations. Doing so would lead to
alignment issues between C and C++ code.

tBTA_HF_CLIENT_HDR was removed from bta_hf_client_api since it was
extraneous and empty - leading to alignment issues.

Change-Id: Icdd338f1affe4c3a70c7bbd716249be6a16443d2
/system/bt/stack/include/btu.h
78bcff79e1b1f0efce436b33bdd6da88745bfc8a 05-Dec-2015 Pavlin Radoslavov <pavlin@google.com> Refactor the Bluetooth timers

* Updated the alarm API:
- Existing API alarm_new() is modified to take an alarm name
as an argument.
- New API alarm_new_periodic() is used to create a periodic
alarm.
- Added new API alarm_is_scheduled() to test whether an alarm is
scheduled.
- Existing API alarm_set_periodic() is removed: a periodic
alarm is created by alarm_new_periodic().
- Added new API alarm_set_on_queue() to set an alarm whose
callback is executed on a specific queue.
- Added new API alarm_register_processing_queue() and
alarm_unregister_processing_queue() to register/unregister
a queue and the corresponding thread for alarm processing.
- Added corresponding unit tests.

* Updated the alarm internals:
- Added alarm_info_t for collecting alarm-related information
and statistics.
- Collect and store alarm-related statistics into alarm_info_t
per alarm.
- Include the alarm-related statistics and info into the native
dumpsys output for Bluetooth.
- Once an alarm expires, the alarm execution is scheduled for
processing on another internal alarm-specific thread, not
on the thread that is maintaining the alarms.
- Implemented callback execution ordering guarantee among
timers on the same thread with exactly same timeout values.

* Refactor some of the usage of alarm_set() and simplify the
code by using alarm_set_on_queue() instead.

* Removed the non_repeating timers wrapper, and use directly
the alarm mechanism / API.

* Refactored all timer_entry_t timers and replaced them with alarm_t
timers:
- Replaced the btu_start_timer() / btu_stop_timer() /
btu_start_quick_timer() / btu_stop_quick_timer() /
btu_oneshot_alarm() mechanism with alarm_set_on_queue() and
alarm_cancel()
- Removed the whole mechanism around the BTU_TTYPE_* timers.

* Fixed a bug when processing the GATT indication confirmation timer
expiration (timer tGATT_TCB.conf_timer: b/26610829).

* Renamed and/or split misc. timeout functions, fields, and timers

* Renamed time-related constants and changed the values from seconds
to milliseconds

* Replaced timer tAVDT_CCB.timer_entry with three mutually exclusive timers:
idle_ccb_timer, ret_ccb_timer, rsp_ccb_timer
The reason we are using three timers, is because in the original code
function avdt_ccb_chk_timer() used the timer type in its logic: it
would stop the timer only if the type is "idle".

* Removed btm_ble_timeout() and replaced it with multiple timeout
callback functions (per timer)

* Fix the actual value of the global constant BT_1SEC_TIMEOUT and
rename it to BT_1SEC_TIMEOUT_MS

* Removed btu_cb and associated timers and events, because they are
never used.

* Removed unused timers, functions, struct and declarations that are
not used / needed.

Bug: 26611369
Bug: 26610829

Change-Id: I812c8c31710a5daefc58b01fcf35c353768f390f
/system/bt/stack/include/btu.h
258c2538e3b62a8cdb403f2730c45d721e5292b4 28-Sep-2015 Pavlin Radoslavov <pavlin@google.com> GKI cleanup - moved GKI buffer allocation wrappers to OSI

* Moved the following GKI buffer allocation functions to OSI:
- GKI_getbuf() -> osi_getbuf()
- GKI_freebuf() -> osi_freebuf()
- GKI_get_buf_size() -> osi_get_buf_size()

For now we need the osi_getbuf() / osi_freebuf() allocation wrapper,
because we need to be able to call osi_get_buf_size() on the allocated
buffer.
In the future those should be replaced with osi_malloc() / osi_free().
Currently, the osi_malloc() buffer size internal allocation tracker
does not always track the size, hence we need the osi_getbuf() wrapper.

* Replaced GKI_MAX_BUF_SIZE with BT_DEFAULT_BUFFER_SIZE

* Added new file include/bt_common.h that can be usee to include
few files that should be included alost everywhere (e.g. bt_target.h"
NOTE: This file might be removed in the future and we should include
everywhere the right set of header files.

* Removed some of the GKI-related references

* Removed file include/gki_target.h

Change-Id: Ie87830e73143de200746d54235aa99f228a95024
/system/bt/stack/include/btu.h
9f1c9ad85759c7663e3bbc494f8e75b2f107da67 28-Sep-2015 Pavlin Radoslavov <pavlin@google.com> GKI cleanup - Moved struct TIMER_LIST_ENT to OSI

* Moved struct TIMER_LIST_ENT to file osi/include/non_repeating_timer.h
and renamed it to timer_entry_t
NOTE: This is a short-term solution. timer_entry_t should be
removed, and its usage everywhere should be replaced by
struct non_repeating_timer_t .
* Renamed TIMER_CBACK to timer_callback_t
* Renamed TIMER_PARAM_TYPE to timer_param_t

Change-Id: I9ca830718bf900195f9c0a513a97f6995322693b
/system/bt/stack/include/btu.h
e13fbfafe2105d264357ac41133f0ac0e054429c 28-Dec-2014 Sharvil Nanavati <sharvil@google.com> Remove more GKI code.

This change removes all remaining GKI task remnants as well as
a few timer and buffer bits.
/system/bt/stack/include/btu.h
d553708949d37e1e37a27ad08cc1ec705e706b3d 03-Mar-2015 Sharvil Nanavati <sharvil@google.com> Don't call GKI_send_event on BTU task since it's not a GKI task anymore.
/system/bt/stack/include/btu.h
c0a87fe60f79ddf41595a30e75a77f43c19cd323 02-Mar-2015 Sharvil Nanavati <sharvil@google.com> Remove GKI timers
/system/bt/stack/include/btu.h
3b24dfb998e76b389b9c850f53e0c8016383f2b8 08-Sep-2014 Zach Johnson <zachoverflow@google.com> Remove unused ACL packet size getters, remove unused timer entity
/system/bt/stack/include/btu.h
8e90de46284238e551ad825fb00bda2bbc90ea1d 21-Oct-2014 Zach Johnson <zachoverflow@google.com> Remove some remaining references to OBX

Android implements the Object Push Profile in java
against RFCOMM sockets with its own implementation of
OBX there.

OBX in Bluedroid isn't compiled, and is missing header files required
to compile it anyway. Removed a number of OBX related headers and updated
a few references where they were used out of place.

Change-Id: Ifaecfb6f85b1dca9055932886af484b6dc107fc1
/system/bt/stack/include/btu.h
30e58068c1adaac7c5ccb3aa9cfb045d41d2a10e 27-Sep-2014 Zach Johnson <zachoverflow@google.com> Refactor btm_devctl reset sequence

* Controller bring up on blockable thread now
* Removed some duplicate and commands during controller bring up
* The code to make commands for controller bring up is smaller and better
/system/bt/stack/include/btu.h
24933b5b1a06274c47133debac5251a97128a267 25-Sep-2014 June R. Tate-Gans <jtgans@google.com> Removing unnecessary BTAPI #defines.
/system/bt/stack/include/btu.h
91ba12d41916ed2da3959948cb0bc7dea7328ae1 26-Sep-2014 Zach Johnson <zachoverflow@google.com> Remove unused hci_cmd_cb in btu

An earlier change obviated the need for it, but I
forgot to remove it at that time.
/system/bt/stack/include/btu.h
307381ef1ed1b434c956a9a98ca25ba6b415d7c7 05-Sep-2014 Chris Manton <cmanton@google.com> Remove btu_task and replace with bt_workqueue reactor
/system/bt/stack/include/btu.h
218f375e989a6189cd9a3227656be17bf614485b 03-Sep-2014 Zach Johnson <zachoverflow@google.com> Sink all HCI transmission management into the HCI layer

Begins the refactoring of the HCI related code in BTA, corrects some
hacks in the HCI layer (no more concept of internal commands, yay!),
and corrects the handling of multiple commands pending response in the
HCI layer.

This introduce a horrible hack external to the HCI layer to keep BTU HCI
handling of command complete/status events on the BTU task. That hack
will be removed when BTU moves to a reactor model and we have osi
threads to work with.
/system/bt/stack/include/btu.h
8d9d02862b1e00d27681846e3de9c4cf4f6634fc 07-Sep-2014 Sharvil Nanavati <sharvil@google.com> GKI task entry points should have a consistent signature.

Previously, GKI task entry points had inconsistent signatures. For
example, we had:

int btif_media_task(void *p)
void btif_task(UINT32 params)
void btu_task (UINT32 param)

The single argument was universally ignored and the caller always
set it to 0. This change consolidates all of that and defines the
entry point as having 0 arity and no return value.
/system/bt/stack/include/btu.h
f79d28673355204c9ec14e64b87f14398affa06f 07-Sep-2014 Sharvil Nanavati <sharvil@google.com> Move BTU task creation into stack/btu/btu_init.c.

Also fixed function naming where the BTE prefix was used
instead of BTU.
/system/bt/stack/include/btu.h
c7c6501ab172edff60b16e609ebdca25d5328a33 03-Sep-2014 Chris Manton <cmanton@google.com> Remove unused BTU timer/event APIs

btu_register_timer
btu_deregister_timer
btu_register_event_range
btu_deregister_event_range
/system/bt/stack/include/btu.h
9089951a97090d62c7264431d6fcded8684e14a9 26-Aug-2014 Chris Manton <cmanton@google.com> Remove unused #define BTU_CMD_CMPL_TOUT_DOUBLE_CHECK
/system/bt/stack/include/btu.h
49ada1eb9382ce02a0d81b1a7c3065cccf38d09e 21-Feb-2014 Chris Manton <cmanton@google.com> Release GATT resources upon teardown
/system/bt/stack/include/btu.h
97e75b73a57602b7d9771f28216630ba32fd702a 08-Oct-2014 Chaojing Sun <cjsun@broadcom.com> LE: Serialize multiple connection parameter update requests

Bluetooth controllers do not allow multiple connection parameter
updates where there is one outstanding. This requires serializing
all connection parameter update requests and send the latest
request when the pending one is finished.

Bug: 17979666
Change-Id: Ic49bd89a4ded28014d74b40e67f2a3ea490b9ef7
/system/bt/stack/include/btu.h
0aee331900424ed23857ee2390fbb03338a60d91 12-Jun-2014 Chris Manton <cmanton@google.com> BLE privacy timer

Adds another timer with one-shot characteristic that
allows for variable firing of alarms. Change the BLE
privacy code to use this timer rather than the
BTU continuous timer.

Change-Id: I6baa4e6a76813285c15f24aeb3c7ef942ed01858
/system/bt/stack/include/btu.h
167686c80108ed5cf030631057ec82dc169f3e65 10-Jun-2014 Chris Manton <cmanton@google.com> Remove dead timer code from btu

Change-Id: I28fb3fb64546aac6e08886f71f80fdeaf86fc5af
/system/bt/stack/include/btu.h
8fe58875ce67c6e1099e7ba2339dcd2b979491b0 17-Apr-2014 Ganesh Ganapathi Batta <ganeshg@broadcom.com> Merge BT 4.1 features

The features include:
- LE Peripheral Mode
- Link Layer topology (LE Central & Peripheral Concurrency)
- Dual Mode Topology (Ability to choose LE transport when connecting with
other Dual Mode devices)
- Fast advertising Interval
- Limited Discovery Time Changes
- GAP Authentication and Lost Bond
- Dual Mode Addressing
- Common Profile and Service Error Code
- 32 bit UUIDs

Change-Id: Ic6701da4cf6aaa390ff2c8816b43157f36b7fb42
/system/bt/stack/include/btu.h
ead3cde4bac0c3e32cd31f149093f004eef8ceeb 06-Feb-2013 Ganesh Ganapathi Batta <ganeshg@broadcom.com> Initial version of BLE support for Bluedroid

Change-Id: I9825a5cef9be2559c34c2a529b211b7d471147cf
/system/bt/stack/include/btu.h
5738f83aeb59361a0a2eda2460113f6dc9194271 13-Dec-2012 The Android Open Source Project <initial-contribution@android.com> Snapshot cdeccf6fdd8c2d494ea2867cb37a025bf8879baf

Change-Id: Ia2de32ccb97a9641462c72363b0a8c4288f4f36d
/system/bt/stack/include/btu.h