#include <linux/etherdevice.h>
#include <drv_types.h>
#include <linux/jiffies.h>
#include <rtw_wifi_regd.h>
#define RTW_MAX_MGMT_TX_CNT …
#define RTW_SCAN_IE_LEN_MAX …
#define RTW_MAX_REMAIN_ON_CHANNEL_DURATION …
#define RTW_MAX_NUM_PMKIDS …
static const u32 rtw_cipher_suites[] = …;
#define RATETAB_ENT(_rate, _rateid, _flags) …
#define CHAN2G(_channel, _freq, _flags) …
static __maybe_unused const struct wiphy_wowlan_support wowlan_stub = …;
static struct ieee80211_rate rtw_rates[] = …;
#define rtw_g_rates …
#define RTW_G_RATES_NUM …
#define RTW_2G_CHANNELS_NUM …
static struct ieee80211_channel rtw_2ghz_channels[] = …;
static void rtw_2g_channels_init(struct ieee80211_channel *channels)
{ … }
static void rtw_2g_rates_init(struct ieee80211_rate *rates)
{ … }
static struct ieee80211_supported_band *rtw_spt_band_alloc(
enum nl80211_band band
)
{ … }
static const struct ieee80211_txrx_stypes
rtw_cfg80211_default_mgmt_stypes[NUM_NL80211_IFTYPES] = …;
static int rtw_ieee80211_channel_to_frequency(int chan, int band)
{ … }
#define MAX_BSSINFO_LEN …
struct cfg80211_bss *rtw_cfg80211_inform_bss(struct adapter *padapter, struct wlan_network *pnetwork)
{ … }
int rtw_cfg80211_check_bss(struct adapter *padapter)
{ … }
void rtw_cfg80211_ibss_indicate_connect(struct adapter *padapter)
{ … }
void rtw_cfg80211_indicate_connect(struct adapter *padapter)
{ … }
void rtw_cfg80211_indicate_disconnect(struct adapter *padapter)
{ … }
static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, struct ieee_param *param, u32 param_len)
{ … }
static int rtw_cfg80211_set_encryption(struct net_device *dev, struct ieee_param *param, u32 param_len)
{ … }
static int cfg80211_rtw_add_key(struct wiphy *wiphy, struct net_device *ndev,
int link_id, u8 key_index, bool pairwise,
const u8 *mac_addr, struct key_params *params)
{ … }
static int cfg80211_rtw_get_key(struct wiphy *wiphy, struct net_device *ndev,
int link_id, u8 key_index, bool pairwise,
const u8 *mac_addr, void *cookie,
void (*callback)(void *cookie,
struct key_params*))
{ … }
static int cfg80211_rtw_del_key(struct wiphy *wiphy, struct net_device *ndev,
int link_id, u8 key_index, bool pairwise,
const u8 *mac_addr)
{ … }
static int cfg80211_rtw_set_default_key(struct wiphy *wiphy,
struct net_device *ndev, int link_id,
u8 key_index, bool unicast,
bool multicast)
{ … }
static int cfg80211_rtw_get_station(struct wiphy *wiphy,
struct net_device *ndev,
const u8 *mac,
struct station_info *sinfo)
{ … }
static int cfg80211_rtw_change_iface(struct wiphy *wiphy,
struct net_device *ndev,
enum nl80211_iftype type,
struct vif_params *params)
{ … }
void rtw_cfg80211_indicate_scan_done(struct adapter *adapter, bool aborted)
{ … }
void rtw_cfg80211_unlink_bss(struct adapter *padapter, struct wlan_network *pnetwork)
{ … }
void rtw_cfg80211_surveydone_event_callback(struct adapter *padapter)
{ … }
static int rtw_cfg80211_set_probe_req_wpsp2pie(struct adapter *padapter, char *buf, int len)
{ … }
static int cfg80211_rtw_scan(struct wiphy *wiphy
, struct cfg80211_scan_request *request)
{ … }
static int cfg80211_rtw_set_wiphy_params(struct wiphy *wiphy, u32 changed)
{ … }
static int rtw_cfg80211_set_wpa_version(struct security_priv *psecuritypriv, u32 wpa_version)
{ … }
static int rtw_cfg80211_set_auth_type(struct security_priv *psecuritypriv,
enum nl80211_auth_type sme_auth_type)
{ … }
static int rtw_cfg80211_set_cipher(struct security_priv *psecuritypriv, u32 cipher, bool ucast)
{ … }
static int rtw_cfg80211_set_key_mgt(struct security_priv *psecuritypriv, u32 key_mgt)
{ … }
static int rtw_cfg80211_set_wpa_ie(struct adapter *padapter, u8 *pie, size_t ielen)
{ … }
static int cfg80211_rtw_join_ibss(struct wiphy *wiphy, struct net_device *ndev,
struct cfg80211_ibss_params *params)
{ … }
static int cfg80211_rtw_leave_ibss(struct wiphy *wiphy, struct net_device *ndev)
{ … }
static int cfg80211_rtw_connect(struct wiphy *wiphy, struct net_device *ndev,
struct cfg80211_connect_params *sme)
{ … }
static int cfg80211_rtw_disconnect(struct wiphy *wiphy, struct net_device *ndev,
u16 reason_code)
{ … }
static int cfg80211_rtw_set_txpower(struct wiphy *wiphy,
struct wireless_dev *wdev,
enum nl80211_tx_power_setting type, int mbm)
{ … }
static int cfg80211_rtw_get_txpower(struct wiphy *wiphy,
struct wireless_dev *wdev, int *dbm)
{ … }
inline bool rtw_cfg80211_pwr_mgmt(struct adapter *adapter)
{ … }
static int cfg80211_rtw_set_power_mgmt(struct wiphy *wiphy,
struct net_device *ndev,
bool enabled, int timeout)
{ … }
static int cfg80211_rtw_set_pmksa(struct wiphy *wiphy,
struct net_device *ndev,
struct cfg80211_pmksa *pmksa)
{ … }
static int cfg80211_rtw_del_pmksa(struct wiphy *wiphy,
struct net_device *ndev,
struct cfg80211_pmksa *pmksa)
{ … }
static int cfg80211_rtw_flush_pmksa(struct wiphy *wiphy,
struct net_device *ndev)
{ … }
void rtw_cfg80211_indicate_sta_assoc(struct adapter *padapter, u8 *pmgmt_frame, uint frame_len)
{ … }
void rtw_cfg80211_indicate_sta_disassoc(struct adapter *padapter, unsigned char *da, unsigned short reason)
{ … }
static u8 rtw_get_chan_type(struct adapter *adapter)
{ … }
static int cfg80211_rtw_get_channel(struct wiphy *wiphy, struct wireless_dev *wdev,
unsigned int link_id,
struct cfg80211_chan_def *chandef)
{ … }
static netdev_tx_t rtw_cfg80211_monitor_if_xmit_entry(struct sk_buff *skb, struct net_device *ndev)
{ … }
static const struct net_device_ops rtw_cfg80211_monitor_if_ops = …;
static int rtw_cfg80211_add_monitor_if(struct adapter *padapter, char *name, struct net_device **ndev)
{ … }
static struct wireless_dev *
cfg80211_rtw_add_virtual_intf(
struct wiphy *wiphy,
const char *name,
unsigned char name_assign_type,
enum nl80211_iftype type, struct vif_params *params)
{ … }
static int cfg80211_rtw_del_virtual_intf(struct wiphy *wiphy,
struct wireless_dev *wdev
)
{ … }
static int rtw_add_beacon(struct adapter *adapter, const u8 *head, size_t head_len, const u8 *tail, size_t tail_len)
{ … }
static int cfg80211_rtw_start_ap(struct wiphy *wiphy, struct net_device *ndev,
struct cfg80211_ap_settings *settings)
{ … }
static int cfg80211_rtw_change_beacon(struct wiphy *wiphy, struct net_device *ndev,
struct cfg80211_ap_update *info)
{ … }
static int cfg80211_rtw_stop_ap(struct wiphy *wiphy, struct net_device *ndev,
unsigned int link_id)
{ … }
static int cfg80211_rtw_add_station(struct wiphy *wiphy,
struct net_device *ndev,
const u8 *mac,
struct station_parameters *params)
{ … }
static int cfg80211_rtw_del_station(struct wiphy *wiphy, struct net_device *ndev,
struct station_del_parameters *params)
{ … }
static int cfg80211_rtw_change_station(struct wiphy *wiphy,
struct net_device *ndev,
const u8 *mac,
struct station_parameters *params)
{ … }
static struct sta_info *rtw_sta_info_get_by_idx(const int idx, struct sta_priv *pstapriv)
{ … }
static int cfg80211_rtw_dump_station(struct wiphy *wiphy,
struct net_device *ndev,
int idx, u8 *mac,
struct station_info *sinfo)
{ … }
static int cfg80211_rtw_change_bss(struct wiphy *wiphy,
struct net_device *ndev,
struct bss_parameters *params)
{ … }
void rtw_cfg80211_rx_action(struct adapter *adapter, u8 *frame, uint frame_len, const char *msg)
{ … }
static int _cfg80211_rtw_mgmt_tx(struct adapter *padapter, u8 tx_ch, const u8 *buf, size_t len)
{ … }
static int cfg80211_rtw_mgmt_tx(struct wiphy *wiphy, struct wireless_dev *wdev,
struct cfg80211_mgmt_tx_params *params,
u64 *cookie)
{ … }
static void rtw_cfg80211_init_ht_capab(struct ieee80211_sta_ht_cap *ht_cap, enum nl80211_band band)
{ … }
void rtw_cfg80211_init_wiphy(struct adapter *padapter)
{ … }
static void rtw_cfg80211_preinit_wiphy(struct adapter *padapter, struct wiphy *wiphy)
{ … }
static struct cfg80211_ops rtw_cfg80211_ops = …;
int rtw_wdev_alloc(struct adapter *padapter, struct device *dev)
{ … }
void rtw_wdev_free(struct wireless_dev *wdev)
{ … }
void rtw_wdev_unregister(struct wireless_dev *wdev)
{ … }