cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

msft.h (2463B)


      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_register(struct hci_dev *hdev);
     17void msft_unregister(struct hci_dev *hdev);
     18void msft_do_open(struct hci_dev *hdev);
     19void msft_do_close(struct hci_dev *hdev);
     20void msft_vendor_evt(struct hci_dev *hdev, void *data, struct sk_buff *skb);
     21__u64 msft_get_features(struct hci_dev *hdev);
     22int msft_add_monitor_pattern(struct hci_dev *hdev, struct adv_monitor *monitor);
     23int msft_remove_monitor(struct hci_dev *hdev, struct adv_monitor *monitor,
     24			u16 handle);
     25void msft_req_add_set_filter_enable(struct hci_request *req, bool enable);
     26int msft_set_filter_enable(struct hci_dev *hdev, bool enable);
     27int msft_suspend_sync(struct hci_dev *hdev);
     28int msft_resume_sync(struct hci_dev *hdev);
     29bool msft_curve_validity(struct hci_dev *hdev);
     30
     31#else
     32
     33static inline bool msft_monitor_supported(struct hci_dev *hdev)
     34{
     35	return false;
     36}
     37
     38static inline void msft_register(struct hci_dev *hdev) {}
     39static inline void msft_unregister(struct hci_dev *hdev) {}
     40static inline void msft_do_open(struct hci_dev *hdev) {}
     41static inline void msft_do_close(struct hci_dev *hdev) {}
     42static inline void msft_vendor_evt(struct hci_dev *hdev, void *data,
     43				   struct sk_buff *skb) {}
     44static inline __u64 msft_get_features(struct hci_dev *hdev) { return 0; }
     45static inline int msft_add_monitor_pattern(struct hci_dev *hdev,
     46					   struct adv_monitor *monitor)
     47{
     48	return -EOPNOTSUPP;
     49}
     50
     51static inline int msft_remove_monitor(struct hci_dev *hdev,
     52				      struct adv_monitor *monitor,
     53				      u16 handle)
     54{
     55	return -EOPNOTSUPP;
     56}
     57
     58static inline void msft_req_add_set_filter_enable(struct hci_request *req,
     59						  bool enable) {}
     60static inline int msft_set_filter_enable(struct hci_dev *hdev, bool enable)
     61{
     62	return -EOPNOTSUPP;
     63}
     64
     65static inline int msft_suspend_sync(struct hci_dev *hdev)
     66{
     67	return -EOPNOTSUPP;
     68}
     69
     70static inline int msft_resume_sync(struct hci_dev *hdev)
     71{
     72	return -EOPNOTSUPP;
     73}
     74
     75static inline bool msft_curve_validity(struct hci_dev *hdev)
     76{
     77	return false;
     78}
     79
     80#endif