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

scan.h (1561B)


      1/* SPDX-License-Identifier: GPL-2.0-only */
      2/*
      3 * Scan interface for ST-Ericsson CW1200 mac80211 drivers
      4 *
      5 * Copyright (c) 2010, ST-Ericsson
      6 * Author: Dmitry Tarnyagin <dmitry.tarnyagin@lockless.no>
      7 */
      8
      9#ifndef SCAN_H_INCLUDED
     10#define SCAN_H_INCLUDED
     11
     12#include <linux/semaphore.h>
     13#include "wsm.h"
     14
     15/* external */ struct sk_buff;
     16/* external */ struct cfg80211_scan_request;
     17/* external */ struct ieee80211_channel;
     18/* external */ struct ieee80211_hw;
     19/* external */ struct work_struct;
     20
     21struct cw1200_scan {
     22	struct semaphore lock;
     23	struct work_struct work;
     24	struct delayed_work timeout;
     25	struct cfg80211_scan_request *req;
     26	struct ieee80211_channel **begin;
     27	struct ieee80211_channel **curr;
     28	struct ieee80211_channel **end;
     29	struct wsm_ssid ssids[WSM_SCAN_MAX_NUM_OF_SSIDS];
     30	int output_power;
     31	int n_ssids;
     32	int status;
     33	atomic_t in_progress;
     34	/* Direct probe requests workaround */
     35	struct delayed_work probe_work;
     36	int direct_probe;
     37};
     38
     39int cw1200_hw_scan(struct ieee80211_hw *hw,
     40		   struct ieee80211_vif *vif,
     41		   struct ieee80211_scan_request *hw_req);
     42void cw1200_scan_work(struct work_struct *work);
     43void cw1200_scan_timeout(struct work_struct *work);
     44void cw1200_clear_recent_scan_work(struct work_struct *work);
     45void cw1200_scan_complete_cb(struct cw1200_common *priv,
     46			     struct wsm_scan_complete *arg);
     47void cw1200_scan_failed_cb(struct cw1200_common *priv);
     48
     49/* ******************************************************************** */
     50/* Raw probe requests TX workaround					*/
     51void cw1200_probe_work(struct work_struct *work);
     52
     53#endif