#include <linux/export.h>
#include <net/mac80211.h>
#include "ieee80211_i.h"
#include "driver-ops.h"
static void ieee80211_offchannel_ps_enable(struct ieee80211_sub_if_data *sdata)
{ … }
static void ieee80211_offchannel_ps_disable(struct ieee80211_sub_if_data *sdata)
{ … }
void ieee80211_offchannel_stop_vifs(struct ieee80211_local *local)
{ … }
void ieee80211_offchannel_return(struct ieee80211_local *local)
{ … }
static void ieee80211_roc_notify_destroy(struct ieee80211_roc_work *roc)
{ … }
static unsigned long ieee80211_end_finished_rocs(struct ieee80211_local *local,
unsigned long now)
{ … }
static bool ieee80211_recalc_sw_work(struct ieee80211_local *local,
unsigned long now)
{ … }
static void ieee80211_handle_roc_started(struct ieee80211_roc_work *roc,
unsigned long start_time)
{ … }
static void ieee80211_hw_roc_start(struct wiphy *wiphy, struct wiphy_work *work)
{ … }
void ieee80211_ready_on_channel(struct ieee80211_hw *hw)
{ … }
EXPORT_SYMBOL_GPL(…);
static void _ieee80211_start_next_roc(struct ieee80211_local *local)
{ … }
void ieee80211_start_next_roc(struct ieee80211_local *local)
{ … }
void ieee80211_reconfig_roc(struct ieee80211_local *local)
{ … }
static void __ieee80211_roc_work(struct ieee80211_local *local)
{ … }
static void ieee80211_roc_work(struct wiphy *wiphy, struct wiphy_work *work)
{ … }
static void ieee80211_hw_roc_done(struct wiphy *wiphy, struct wiphy_work *work)
{ … }
void ieee80211_remain_on_channel_expired(struct ieee80211_hw *hw)
{ … }
EXPORT_SYMBOL_GPL(…);
static bool
ieee80211_coalesce_hw_started_roc(struct ieee80211_local *local,
struct ieee80211_roc_work *new_roc,
struct ieee80211_roc_work *cur_roc)
{ … }
static int ieee80211_start_roc_work(struct ieee80211_local *local,
struct ieee80211_sub_if_data *sdata,
struct ieee80211_channel *channel,
unsigned int duration, u64 *cookie,
struct sk_buff *txskb,
enum ieee80211_roc_type type)
{ … }
int ieee80211_remain_on_channel(struct wiphy *wiphy, struct wireless_dev *wdev,
struct ieee80211_channel *chan,
unsigned int duration, u64 *cookie)
{ … }
static int ieee80211_cancel_roc(struct ieee80211_local *local,
u64 cookie, bool mgmt_tx)
{ … }
int ieee80211_cancel_remain_on_channel(struct wiphy *wiphy,
struct wireless_dev *wdev, u64 cookie)
{ … }
int ieee80211_mgmt_tx(struct wiphy *wiphy, struct wireless_dev *wdev,
struct cfg80211_mgmt_tx_params *params, u64 *cookie)
{ … }
int ieee80211_mgmt_tx_cancel_wait(struct wiphy *wiphy,
struct wireless_dev *wdev, u64 cookie)
{ … }
void ieee80211_roc_setup(struct ieee80211_local *local)
{ … }
void ieee80211_roc_purge(struct ieee80211_local *local,
struct ieee80211_sub_if_data *sdata)
{ … }