forked from Minki/linux
1f9298f960
Since we now have handlers IWESSID for all modes, we can combine them into one. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
99 lines
3.8 KiB
C
99 lines
3.8 KiB
C
/*
|
|
* Copyright 2002-2005, Instant802 Networks, Inc.
|
|
* Copyright 2005-2006, Devicescape Software, Inc.
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
* published by the Free Software Foundation.
|
|
*/
|
|
|
|
#include <linux/module.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/wireless.h>
|
|
#include <net/iw_handler.h>
|
|
#include <asm/uaccess.h>
|
|
|
|
#include <net/mac80211.h>
|
|
#include "ieee80211_i.h"
|
|
#include "led.h"
|
|
#include "rate.h"
|
|
#include "wpa.h"
|
|
#include "aes_ccm.h"
|
|
|
|
|
|
|
|
/* Structures to export the Wireless Handlers */
|
|
|
|
static const iw_handler ieee80211_handler[] =
|
|
{
|
|
(iw_handler) NULL, /* SIOCSIWCOMMIT */
|
|
(iw_handler) cfg80211_wext_giwname, /* SIOCGIWNAME */
|
|
(iw_handler) NULL, /* SIOCSIWNWID */
|
|
(iw_handler) NULL, /* SIOCGIWNWID */
|
|
(iw_handler) cfg80211_wext_siwfreq, /* SIOCSIWFREQ */
|
|
(iw_handler) cfg80211_wext_giwfreq, /* SIOCGIWFREQ */
|
|
(iw_handler) cfg80211_wext_siwmode, /* SIOCSIWMODE */
|
|
(iw_handler) cfg80211_wext_giwmode, /* SIOCGIWMODE */
|
|
(iw_handler) NULL, /* SIOCSIWSENS */
|
|
(iw_handler) NULL, /* SIOCGIWSENS */
|
|
(iw_handler) NULL /* not used */, /* SIOCSIWRANGE */
|
|
(iw_handler) cfg80211_wext_giwrange, /* SIOCGIWRANGE */
|
|
(iw_handler) NULL /* not used */, /* SIOCSIWPRIV */
|
|
(iw_handler) NULL /* kernel code */, /* SIOCGIWPRIV */
|
|
(iw_handler) NULL /* not used */, /* SIOCSIWSTATS */
|
|
(iw_handler) NULL /* kernel code */, /* SIOCGIWSTATS */
|
|
(iw_handler) NULL, /* SIOCSIWSPY */
|
|
(iw_handler) NULL, /* SIOCGIWSPY */
|
|
(iw_handler) NULL, /* SIOCSIWTHRSPY */
|
|
(iw_handler) NULL, /* SIOCGIWTHRSPY */
|
|
(iw_handler) cfg80211_wext_siwap, /* SIOCSIWAP */
|
|
(iw_handler) cfg80211_wext_giwap, /* SIOCGIWAP */
|
|
(iw_handler) cfg80211_wext_siwmlme, /* SIOCSIWMLME */
|
|
(iw_handler) NULL, /* SIOCGIWAPLIST */
|
|
(iw_handler) cfg80211_wext_siwscan, /* SIOCSIWSCAN */
|
|
(iw_handler) cfg80211_wext_giwscan, /* SIOCGIWSCAN */
|
|
(iw_handler) cfg80211_wext_siwessid, /* SIOCSIWESSID */
|
|
(iw_handler) cfg80211_wext_giwessid, /* SIOCGIWESSID */
|
|
(iw_handler) NULL, /* SIOCSIWNICKN */
|
|
(iw_handler) NULL, /* SIOCGIWNICKN */
|
|
(iw_handler) NULL, /* -- hole -- */
|
|
(iw_handler) NULL, /* -- hole -- */
|
|
(iw_handler) cfg80211_wext_siwrate, /* SIOCSIWRATE */
|
|
(iw_handler) cfg80211_wext_giwrate, /* SIOCGIWRATE */
|
|
(iw_handler) cfg80211_wext_siwrts, /* SIOCSIWRTS */
|
|
(iw_handler) cfg80211_wext_giwrts, /* SIOCGIWRTS */
|
|
(iw_handler) cfg80211_wext_siwfrag, /* SIOCSIWFRAG */
|
|
(iw_handler) cfg80211_wext_giwfrag, /* SIOCGIWFRAG */
|
|
(iw_handler) cfg80211_wext_siwtxpower, /* SIOCSIWTXPOW */
|
|
(iw_handler) cfg80211_wext_giwtxpower, /* SIOCGIWTXPOW */
|
|
(iw_handler) cfg80211_wext_siwretry, /* SIOCSIWRETRY */
|
|
(iw_handler) cfg80211_wext_giwretry, /* SIOCGIWRETRY */
|
|
(iw_handler) cfg80211_wext_siwencode, /* SIOCSIWENCODE */
|
|
(iw_handler) cfg80211_wext_giwencode, /* SIOCGIWENCODE */
|
|
(iw_handler) cfg80211_wext_siwpower, /* SIOCSIWPOWER */
|
|
(iw_handler) cfg80211_wext_giwpower, /* SIOCGIWPOWER */
|
|
(iw_handler) NULL, /* -- hole -- */
|
|
(iw_handler) NULL, /* -- hole -- */
|
|
(iw_handler) cfg80211_wext_siwgenie, /* SIOCSIWGENIE */
|
|
(iw_handler) NULL, /* SIOCGIWGENIE */
|
|
(iw_handler) cfg80211_wext_siwauth, /* SIOCSIWAUTH */
|
|
(iw_handler) cfg80211_wext_giwauth, /* SIOCGIWAUTH */
|
|
(iw_handler) cfg80211_wext_siwencodeext, /* SIOCSIWENCODEEXT */
|
|
(iw_handler) NULL, /* SIOCGIWENCODEEXT */
|
|
(iw_handler) NULL, /* SIOCSIWPMKSA */
|
|
(iw_handler) NULL, /* -- hole -- */
|
|
};
|
|
|
|
const struct iw_handler_def ieee80211_iw_handler_def =
|
|
{
|
|
.num_standard = ARRAY_SIZE(ieee80211_handler),
|
|
.standard = (iw_handler *) ieee80211_handler,
|
|
.get_wireless_stats = cfg80211_wireless_stats,
|
|
};
|