Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1/* SPDX-License-Identifier: GPL-2.0-only */
2/*
3 * Scan related functions.
4 *
5 * Copyright (c) 2017-2019, Silicon Laboratories, Inc.
6 * Copyright (c) 2010, ST-Ericsson
7 */
8#ifndef WFX_SCAN_H
9#define WFX_SCAN_H
10
11#include <linux/semaphore.h>
12#include <linux/workqueue.h>
13#include <net/mac80211.h>
14
15#include "hif_api_cmd.h"
16
17struct wfx_dev;
18struct wfx_vif;
19
20struct wfx_scan {
21 struct semaphore lock;
22 struct work_struct work;
23 struct delayed_work timeout;
24 struct cfg80211_scan_request *req;
25 struct ieee80211_channel **begin;
26 struct ieee80211_channel **curr;
27 struct ieee80211_channel **end;
28 struct hif_ssid_def ssids[HIF_API_MAX_NB_SSIDS];
29 int output_power;
30 int n_ssids;
31 int status;
32 atomic_t in_progress;
33};
34
35int wfx_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
36 struct ieee80211_scan_request *req);
37void wfx_scan_work(struct work_struct *work);
38void wfx_scan_timeout(struct work_struct *work);
39void wfx_scan_complete_cb(struct wfx_vif *wvif, struct hif_ind_scan_cmpl *arg);
40void wfx_scan_failed_cb(struct wfx_vif *wvif);
41
42#endif /* WFX_SCAN_H */