Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / drivers / staging / rtl8723au / include / ioctl_cfg80211.h
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__ */