#include <linux/slab.h>
#include <linux/kernel.h>
#include <net/mac80211.h>
#include "ieee80211_i.h"
#include "driver-ops.h"
#include "key.h"
#include "debugfs_netdev.h"
void ieee80211_link_setup(struct ieee80211_link_data *link)
{ … }
void ieee80211_link_init(struct ieee80211_sub_if_data *sdata,
int link_id,
struct ieee80211_link_data *link,
struct ieee80211_bss_conf *link_conf)
{ … }
void ieee80211_link_stop(struct ieee80211_link_data *link)
{ … }
struct link_container { … };
static void ieee80211_tear_down_links(struct ieee80211_sub_if_data *sdata,
struct link_container **links, u16 mask)
{ … }
static void ieee80211_free_links(struct ieee80211_sub_if_data *sdata,
struct link_container **links)
{ … }
static int ieee80211_check_dup_link_addrs(struct ieee80211_sub_if_data *sdata)
{ … }
static void ieee80211_set_vif_links_bitmaps(struct ieee80211_sub_if_data *sdata,
u16 valid_links, u16 dormant_links)
{ … }
static int ieee80211_vif_update_links(struct ieee80211_sub_if_data *sdata,
struct link_container **to_free,
u16 new_links, u16 dormant_links)
{ … }
int ieee80211_vif_set_links(struct ieee80211_sub_if_data *sdata,
u16 new_links, u16 dormant_links)
{ … }
static int _ieee80211_set_active_links(struct ieee80211_sub_if_data *sdata,
u16 active_links)
{ … }
int ieee80211_set_active_links(struct ieee80211_vif *vif, u16 active_links)
{ … }
EXPORT_SYMBOL_GPL(…);
void ieee80211_set_active_links_async(struct ieee80211_vif *vif,
u16 active_links)
{ … }
EXPORT_SYMBOL_GPL(…);