diff options
author | Manish Mandlik <mmandlik@google.com> | 2020-10-30 17:52:48 -0700 |
---|---|---|
committer | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2020-11-02 09:53:25 -0800 |
commit | 058ef5a662160281ae0fdbbc47565a7292c2312d (patch) | |
tree | 44c28c1ed451c760fc96a034372e370a93fb0c18 /src/adv_monitor.h | |
parent | dc136054955b4b4fe3c62902358b7b993275a04b (diff) | |
download | bluez-058ef5a662160281ae0fdbbc47565a7292c2312d.tar.gz |
adv_monitor: Implement RSSI filtering and content matching
This implements the following logic for background scanning.
- Implement RSSI tracking based on high/low RSSI thresholds and timers.
- Create an entry point in adapter to start the matching of Adv based
on all monitors and invoke the RSSI tracking for Adv reporting.
Diffstat (limited to 'src/adv_monitor.h')
-rw-r--r-- | src/adv_monitor.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/adv_monitor.h b/src/adv_monitor.h index 5cb372217..2b4f68abf 100644 --- a/src/adv_monitor.h +++ b/src/adv_monitor.h @@ -11,13 +11,31 @@ #ifndef __ADV_MONITOR_H #define __ADV_MONITOR_H +#include <glib.h> + +#include "src/shared/ad.h" + struct mgmt; +struct queue; +struct btd_device; struct btd_adapter; struct btd_adv_monitor_manager; +struct btd_adv_monitor_pattern; struct btd_adv_monitor_manager *btd_adv_monitor_manager_create( struct btd_adapter *adapter, struct mgmt *mgmt); void btd_adv_monitor_manager_destroy(struct btd_adv_monitor_manager *manager); +struct queue *btd_adv_monitor_content_filter( + struct btd_adv_monitor_manager *manager, + struct bt_ad *ad); + +void btd_adv_monitor_notify_monitors(struct btd_adv_monitor_manager *manager, + struct btd_device *device, int8_t rssi, + struct queue *matched_monitors); + +void btd_adv_monitor_device_remove(struct btd_adv_monitor_manager *manager, + struct btd_device *device); + #endif /* __ADV_MONITOR_H */ |