linux/net/mac80211/main.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright 2002-2005, Instant802 Networks, Inc.
 * Copyright 2005-2006, Devicescape Software, Inc.
 * Copyright 2006-2007	Jiri Benc <[email protected]>
 * Copyright 2013-2014  Intel Mobile Communications GmbH
 * Copyright (C) 2017     Intel Deutschland GmbH
 * Copyright (C) 2018-2023 Intel Corporation
 */

#include <net/mac80211.h>
#include <linux/module.h>
#include <linux/fips.h>
#include <linux/init.h>
#include <linux/netdevice.h>
#include <linux/types.h>
#include <linux/slab.h>
#include <linux/skbuff.h>
#include <linux/etherdevice.h>
#include <linux/if_arp.h>
#include <linux/rtnetlink.h>
#include <linux/bitmap.h>
#include <linux/inetdevice.h>
#include <net/net_namespace.h>
#include <net/dropreason.h>
#include <net/cfg80211.h>
#include <net/addrconf.h>

#include "ieee80211_i.h"
#include "driver-ops.h"
#include "rate.h"
#include "mesh.h"
#include "wep.h"
#include "led.h"
#include "debugfs.h"

void ieee80211_configure_filter(struct ieee80211_local *local)
{}

static void ieee80211_reconfig_filter(struct wiphy *wiphy,
				      struct wiphy_work *work)
{}

static u32 ieee80211_calc_hw_conf_chan(struct ieee80211_local *local,
				       struct ieee80211_chanctx_conf *ctx)
{}

int ieee80211_hw_config(struct ieee80211_local *local, u32 changed)
{}

/* for scanning, offchannel and chanctx emulation only */
static int _ieee80211_hw_conf_chan(struct ieee80211_local *local,
				   struct ieee80211_chanctx_conf *ctx)
{}

int ieee80211_hw_conf_chan(struct ieee80211_local *local)
{}

void ieee80211_hw_conf_init(struct ieee80211_local *local)
{}

int ieee80211_emulate_add_chanctx(struct ieee80211_hw *hw,
				  struct ieee80211_chanctx_conf *ctx)
{}
EXPORT_SYMBOL();

void ieee80211_emulate_remove_chanctx(struct ieee80211_hw *hw,
				      struct ieee80211_chanctx_conf *ctx)
{}
EXPORT_SYMBOL();

void ieee80211_emulate_change_chanctx(struct ieee80211_hw *hw,
				      struct ieee80211_chanctx_conf *ctx,
				      u32 changed)
{}
EXPORT_SYMBOL();

int ieee80211_emulate_switch_vif_chanctx(struct ieee80211_hw *hw,
					 struct ieee80211_vif_chanctx_switch *vifs,
					 int n_vifs,
					 enum ieee80211_chanctx_switch_mode mode)
{}
EXPORT_SYMBOL();

#define BSS_CHANGED_VIF_CFG_FLAGS

void ieee80211_bss_info_change_notify(struct ieee80211_sub_if_data *sdata,
				      u64 changed)
{}

void ieee80211_vif_cfg_change_notify(struct ieee80211_sub_if_data *sdata,
				     u64 changed)
{}

void ieee80211_link_info_change_notify(struct ieee80211_sub_if_data *sdata,
				       struct ieee80211_link_data *link,
				       u64 changed)
{}

u64 ieee80211_reset_erp_info(struct ieee80211_sub_if_data *sdata)
{}

/* context: requires softirqs disabled */
void ieee80211_handle_queued_frames(struct ieee80211_local *local)
{}

static void ieee80211_tasklet_handler(struct tasklet_struct *t)
{}

static void ieee80211_restart_work(struct work_struct *work)
{}

void ieee80211_restart_hw(struct ieee80211_hw *hw)
{}
EXPORT_SYMBOL();

#ifdef CONFIG_INET
static int ieee80211_ifa_changed(struct notifier_block *nb,
				 unsigned long data, void *arg)
{}
#endif

#if IS_ENABLED(CONFIG_IPV6)
static int ieee80211_ifa6_changed(struct notifier_block *nb,
				  unsigned long data, void *arg)
{}
#endif

/* There isn't a lot of sense in it, but you can transmit anything you like */
static const struct ieee80211_txrx_stypes
ieee80211_default_mgmt_stypes[NUM_NL80211_IFTYPES] =;

static const struct ieee80211_ht_cap mac80211_ht_capa_mod_mask =;

static const struct ieee80211_vht_cap mac80211_vht_capa_mod_mask =;

struct ieee80211_hw *ieee80211_alloc_hw_nm(size_t priv_data_len,
					   const struct ieee80211_ops *ops,
					   const char *requested_name)
{}
EXPORT_SYMBOL();

static int ieee80211_init_cipher_suites(struct ieee80211_local *local)
{}

static bool
ieee80211_ifcomb_check(const struct ieee80211_iface_combination *c, int n_comb)
{}

int ieee80211_register_hw(struct ieee80211_hw *hw)
{}
EXPORT_SYMBOL();

void ieee80211_unregister_hw(struct ieee80211_hw *hw)
{}
EXPORT_SYMBOL();

static int ieee80211_free_ack_frame(int id, void *p, void *data)
{}

void ieee80211_free_hw(struct ieee80211_hw *hw)
{}
EXPORT_SYMBOL();

static const char * const drop_reasons_monitor[] =;

static struct drop_reason_list drop_reason_list_monitor =;

static const char * const drop_reasons_unusable[] =;

static struct drop_reason_list drop_reason_list_unusable =;

static int __init ieee80211_init(void)
{}

static void __exit ieee80211_exit(void)
{}


subsys_initcall(ieee80211_init);
module_exit(ieee80211_exit);

MODULE_DESCRIPTION();
MODULE_LICENSE();