linux/net/bluetooth/msft.h
<<
>>
Prefs
   1// SPDX-License-Identifier: GPL-2.0-only
   2/*
   3 * Copyright (C) 2020 Google Corporation
   4 */
   5
   6#define MSFT_FEATURE_MASK_BREDR_RSSI_MONITOR            BIT(0)
   7#define MSFT_FEATURE_MASK_LE_CONN_RSSI_MONITOR          BIT(1)
   8#define MSFT_FEATURE_MASK_LE_ADV_RSSI_MONITOR           BIT(2)
   9#define MSFT_FEATURE_MASK_LE_ADV_MONITOR                BIT(3)
  10#define MSFT_FEATURE_MASK_CURVE_VALIDITY                BIT(4)
  11#define MSFT_FEATURE_MASK_CONCURRENT_ADV_MONITOR        BIT(5)
  12
  13#if IS_ENABLED(CONFIG_BT_MSFTEXT)
  14
  15bool msft_monitor_supported(struct hci_dev *hdev);
  16void msft_do_open(struct hci_dev *hdev);
  17void msft_do_close(struct hci_dev *hdev);
  18void msft_vendor_evt(struct hci_dev *hdev, struct sk_buff *skb);
  19__u64 msft_get_features(struct hci_dev *hdev);
  20int msft_add_monitor_pattern(struct hci_dev *hdev, struct adv_monitor *monitor);
  21int msft_remove_monitor(struct hci_dev *hdev, struct adv_monitor *monitor,
  22                        u16 handle);
  23void msft_req_add_set_filter_enable(struct hci_request *req, bool enable);
  24int msft_set_filter_enable(struct hci_dev *hdev, bool enable);
  25bool msft_curve_validity(struct hci_dev *hdev);
  26
  27#else
  28
  29static inline bool msft_monitor_supported(struct hci_dev *hdev)
  30{
  31        return false;
  32}
  33
  34static inline void msft_do_open(struct hci_dev *hdev) {}
  35static inline void msft_do_close(struct hci_dev *hdev) {}
  36static inline void msft_vendor_evt(struct hci_dev *hdev, struct sk_buff *skb) {}
  37static inline __u64 msft_get_features(struct hci_dev *hdev) { return 0; }
  38static inline int msft_add_monitor_pattern(struct hci_dev *hdev,
  39                                           struct adv_monitor *monitor)
  40{
  41        return -EOPNOTSUPP;
  42}
  43
  44static inline int msft_remove_monitor(struct hci_dev *hdev,
  45                                      struct adv_monitor *monitor,
  46                                      u16 handle)
  47{
  48        return -EOPNOTSUPP;
  49}
  50
  51static inline void msft_req_add_set_filter_enable(struct hci_request *req,
  52                                                  bool enable) {}
  53static inline int msft_set_filter_enable(struct hci_dev *hdev, bool enable)
  54{
  55        return -EOPNOTSUPP;
  56}
  57
  58static inline bool msft_curve_validity(struct hci_dev *hdev)
  59{
  60        return false;
  61}
  62
  63#endif
  64