blob: 0772a67a940f6b129b64b73771074395eec299ed [file] [log] [blame]
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001/*
2 * Copyright (c) 2012-2014 The Linux Foundation. All rights reserved.
3 *
4 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
5 *
6 *
7 * Permission to use, copy, modify, and/or distribute this software for
8 * any purpose with or without fee is hereby granted, provided that the
9 * above copyright notice and this permission notice appear in all
10 * copies.
11 *
12 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
13 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
14 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
15 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
16 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
17 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
18 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19 * PERFORMANCE OF THIS SOFTWARE.
20 */
21
22#if !defined(WLAN_HDD_EXT_SCAN_H)
23#define WLAN_HDD_EXT_SCAN_H
24
25/**
26 * DOC: wlan_hdd_ext_scan.h
27 *
28 * WLAN Host Device Driver EXT SCAN feature implementation
29 *
30 */
31
32#ifdef FEATURE_WLAN_EXTSCAN
33
34#include "wlan_hdd_main.h"
35
36/*
37 * Used to allocate the size of 4096 for the EXTScan NL data.
38 * The size of 4096 is considered assuming that all data per
39 * respective event fit with in the limit.Please take a call
40 * on the limit based on the data requirements.
41 */
42
43#define EXTSCAN_EVENT_BUF_SIZE 4096
44
45int wlan_hdd_cfg80211_extscan_start(struct wiphy *wiphy,
46 struct wireless_dev *wdev,
47 const void *data, int data_len);
48
49int wlan_hdd_cfg80211_extscan_stop(struct wiphy *wiphy,
50 struct wireless_dev *wdev,
51 const void *data, int data_len);
52
53int wlan_hdd_cfg80211_extscan_get_valid_channels(struct wiphy *wiphy,
54 struct wireless_dev
55 *wdev, const void *data,
56 int data_len);
57
58int wlan_hdd_cfg80211_extscan_get_capabilities(struct wiphy *wiphy,
59 struct wireless_dev *wdev,
60 const void *data, int data_len);
61
62int wlan_hdd_cfg80211_extscan_get_cached_results(struct wiphy *wiphy,
63 struct wireless_dev
64 *wdev, const void *data,
65 int data_len);
66
67int wlan_hdd_cfg80211_extscan_set_bssid_hotlist(struct wiphy *wiphy,
68 struct wireless_dev
69 *wdev, const void *data,
70 int data_len);
71
72int wlan_hdd_cfg80211_extscan_reset_bssid_hotlist(struct wiphy *wiphy,
73 struct wireless_dev
74 *wdev, const void *data,
75 int data_len);
76
77int wlan_hdd_cfg80211_extscan_set_significant_change(struct wiphy *wiphy,
78 struct wireless_dev
79 *wdev, const void *data,
80 int data_len);
81
82int wlan_hdd_cfg80211_extscan_reset_significant_change(struct wiphy
83 *wiphy,
84 struct
85 wireless_dev
86 *wdev, const void *data,
87 int data_len);
88
89int wlan_hdd_cfg80211_set_epno_list(struct wiphy *wiphy,
90 struct wireless_dev *wdev,
91 const void *data,
92 int data_len);
93
94int wlan_hdd_cfg80211_set_passpoint_list(struct wiphy *wiphy,
95 struct wireless_dev *wdev,
96 const void *data,
97 int data_len);
98
99int wlan_hdd_cfg80211_reset_passpoint_list(struct wiphy *wiphy,
100 struct wireless_dev *wdev,
101 const void *data,
102 int data_len);
103
104int
105wlan_hdd_cfg80211_extscan_set_ssid_hotlist(struct wiphy *wiphy,
106 struct wireless_dev *wdev,
107 const void *data,
108 int data_len);
109
110int
111wlan_hdd_cfg80211_extscan_reset_ssid_hotlist(struct wiphy *wiphy,
112 struct wireless_dev *wdev,
113 const void *data,
114 int data_len);
115
116void wlan_hdd_cfg80211_extscan_init(hdd_context_t *hdd_ctx);
117
118#else /* FEATURE_WLAN_EXTSCAN */
119
120static void wlan_hdd_cfg80211_extscan_init(hdd_context_t *hdd_ctx)
121{
122}
123
124#endif /* End of FEATURE_WLAN_EXTSCAN */
125
126#endif /* end #if !defined(WLAN_HDD_EXT_SCAN_H) */
127