• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /******************************************************************************
2  *
3  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
4  *
5  * This program is free software; you can redistribute it and/or modify it
6  * under the terms of version 2 of the GNU General Public License as
7  * published by the Free Software Foundation.
8  *
9  * This program is distributed in the hope that it will be useful, but WITHOUT
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12  * more details.
13  *
14  ******************************************************************************/
15 #ifndef __IOCTL_CFG80211_H__
16 #define __IOCTL_CFG80211_H__
17 
18 struct rtw_wdev_priv {
19 	struct wireless_dev *rtw_wdev;
20 
21 	struct rtw_adapter *padapter;
22 
23 	struct cfg80211_scan_request *scan_request;
24 	spinlock_t scan_req_lock;
25 
26 	struct net_device *pmon_ndev;/* for monitor interface */
27 	char ifname_mon[IFNAMSIZ + 1]; /* name for monitor interface */
28 
29 	u8 p2p_enabled;
30 
31 	bool power_mgmt;
32 };
33 
34 #define wdev_to_priv(w) ((struct rtw_wdev_priv *)(wdev_priv(w)))
35 
36 #define wiphy_to_adapter(x)					\
37 	(struct rtw_adapter *)(((struct rtw_wdev_priv *)	\
38 	wiphy_priv(x))->padapter)
39 
40 #define wiphy_to_wdev(x)					\
41 	(struct wireless_dev *)(((struct rtw_wdev_priv *)	\
42 	wiphy_priv(x))->rtw_wdev)
43 
44 int rtw_wdev_alloc(struct rtw_adapter *padapter, struct device *dev);
45 void rtw_wdev_free(struct wireless_dev *wdev);
46 void rtw_wdev_unregister(struct wireless_dev *wdev);
47 
48 void rtw_cfg80211_init_wiphy(struct rtw_adapter *padapter);
49 
50 void rtw_cfg80211_surveydone_event_callback(struct rtw_adapter *padapter);
51 
52 void rtw_cfg80211_indicate_connect(struct rtw_adapter *padapter);
53 void rtw_cfg80211_indicate_disconnect(struct rtw_adapter *padapter);
54 void rtw_cfg80211_indicate_scan_done(struct rtw_wdev_priv *pwdev_priv,
55 				     bool aborted);
56 
57 #ifdef CONFIG_8723AU_AP_MODE
58 void rtw_cfg80211_indicate_sta_assoc(struct rtw_adapter *padapter,
59 				     u8 *pmgmt_frame, uint frame_len);
60 void rtw_cfg80211_indicate_sta_disassoc(struct rtw_adapter *padapter,
61 					unsigned char *da, unsigned short reason);
62 #endif /* CONFIG_8723AU_AP_MODE */
63 
64 bool rtw_cfg80211_pwr_mgmt(struct rtw_adapter *adapter);
65 
66 #endif /* __IOCTL_CFG80211_H__ */
67