cfg80211: combine IWESSID handlers
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>
This commit is contained in:
parent
562e482265
commit
1f9298f960
@ -27,38 +27,6 @@
|
|||||||
#include "iwm.h"
|
#include "iwm.h"
|
||||||
#include "commands.h"
|
#include "commands.h"
|
||||||
|
|
||||||
static int iwm_wext_siwessid(struct net_device *dev,
|
|
||||||
struct iw_request_info *info,
|
|
||||||
struct iw_point *data, char *ssid)
|
|
||||||
{
|
|
||||||
struct iwm_priv *iwm = ndev_to_iwm(dev);
|
|
||||||
|
|
||||||
switch (iwm->conf.mode) {
|
|
||||||
case UMAC_MODE_IBSS:
|
|
||||||
return cfg80211_ibss_wext_siwessid(dev, info, data, ssid);
|
|
||||||
case UMAC_MODE_BSS:
|
|
||||||
return cfg80211_mgd_wext_siwessid(dev, info, data, ssid);
|
|
||||||
default:
|
|
||||||
return -EOPNOTSUPP;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static int iwm_wext_giwessid(struct net_device *dev,
|
|
||||||
struct iw_request_info *info,
|
|
||||||
struct iw_point *data, char *ssid)
|
|
||||||
{
|
|
||||||
struct iwm_priv *iwm = ndev_to_iwm(dev);
|
|
||||||
|
|
||||||
switch (iwm->conf.mode) {
|
|
||||||
case UMAC_MODE_IBSS:
|
|
||||||
return cfg80211_ibss_wext_giwessid(dev, info, data, ssid);
|
|
||||||
case UMAC_MODE_BSS:
|
|
||||||
return cfg80211_mgd_wext_giwessid(dev, info, data, ssid);
|
|
||||||
default:
|
|
||||||
return -EOPNOTSUPP;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static const iw_handler iwm_handlers[] =
|
static const iw_handler iwm_handlers[] =
|
||||||
{
|
{
|
||||||
(iw_handler) NULL, /* SIOCSIWCOMMIT */
|
(iw_handler) NULL, /* SIOCSIWCOMMIT */
|
||||||
@ -87,8 +55,8 @@ static const iw_handler iwm_handlers[] =
|
|||||||
(iw_handler) NULL, /* SIOCGIWAPLIST */
|
(iw_handler) NULL, /* SIOCGIWAPLIST */
|
||||||
(iw_handler) cfg80211_wext_siwscan, /* SIOCSIWSCAN */
|
(iw_handler) cfg80211_wext_siwscan, /* SIOCSIWSCAN */
|
||||||
(iw_handler) cfg80211_wext_giwscan, /* SIOCGIWSCAN */
|
(iw_handler) cfg80211_wext_giwscan, /* SIOCGIWSCAN */
|
||||||
(iw_handler) iwm_wext_siwessid, /* SIOCSIWESSID */
|
(iw_handler) cfg80211_wext_siwessid, /* SIOCSIWESSID */
|
||||||
(iw_handler) iwm_wext_giwessid, /* SIOCGIWESSID */
|
(iw_handler) cfg80211_wext_giwessid, /* SIOCGIWESSID */
|
||||||
(iw_handler) NULL, /* SIOCSIWNICKN */
|
(iw_handler) NULL, /* SIOCSIWNICKN */
|
||||||
(iw_handler) NULL, /* SIOCGIWNICKN */
|
(iw_handler) NULL, /* SIOCGIWNICKN */
|
||||||
(iw_handler) NULL, /* -- hole -- */
|
(iw_handler) NULL, /* -- hole -- */
|
||||||
|
@ -1595,19 +1595,6 @@ int cfg80211_wext_siwmlme(struct net_device *dev,
|
|||||||
int cfg80211_wext_giwrange(struct net_device *dev,
|
int cfg80211_wext_giwrange(struct net_device *dev,
|
||||||
struct iw_request_info *info,
|
struct iw_request_info *info,
|
||||||
struct iw_point *data, char *extra);
|
struct iw_point *data, char *extra);
|
||||||
int cfg80211_ibss_wext_siwessid(struct net_device *dev,
|
|
||||||
struct iw_request_info *info,
|
|
||||||
struct iw_point *data, char *ssid);
|
|
||||||
int cfg80211_ibss_wext_giwessid(struct net_device *dev,
|
|
||||||
struct iw_request_info *info,
|
|
||||||
struct iw_point *data, char *ssid);
|
|
||||||
|
|
||||||
int cfg80211_mgd_wext_siwessid(struct net_device *dev,
|
|
||||||
struct iw_request_info *info,
|
|
||||||
struct iw_point *data, char *ssid);
|
|
||||||
int cfg80211_mgd_wext_giwessid(struct net_device *dev,
|
|
||||||
struct iw_request_info *info,
|
|
||||||
struct iw_point *data, char *ssid);
|
|
||||||
int cfg80211_wext_siwgenie(struct net_device *dev,
|
int cfg80211_wext_siwgenie(struct net_device *dev,
|
||||||
struct iw_request_info *info,
|
struct iw_request_info *info,
|
||||||
struct iw_point *data, char *extra);
|
struct iw_point *data, char *extra);
|
||||||
@ -1624,7 +1611,12 @@ int cfg80211_wext_siwfreq(struct net_device *dev,
|
|||||||
int cfg80211_wext_giwfreq(struct net_device *dev,
|
int cfg80211_wext_giwfreq(struct net_device *dev,
|
||||||
struct iw_request_info *info,
|
struct iw_request_info *info,
|
||||||
struct iw_freq *freq, char *extra);
|
struct iw_freq *freq, char *extra);
|
||||||
|
int cfg80211_wext_siwessid(struct net_device *dev,
|
||||||
|
struct iw_request_info *info,
|
||||||
|
struct iw_point *data, char *ssid);
|
||||||
|
int cfg80211_wext_giwessid(struct net_device *dev,
|
||||||
|
struct iw_request_info *info,
|
||||||
|
struct iw_point *data, char *ssid);
|
||||||
int cfg80211_wext_siwrate(struct net_device *dev,
|
int cfg80211_wext_siwrate(struct net_device *dev,
|
||||||
struct iw_request_info *info,
|
struct iw_request_info *info,
|
||||||
struct iw_param *rate, char *extra);
|
struct iw_param *rate, char *extra);
|
||||||
|
@ -27,37 +27,6 @@
|
|||||||
#include "aes_ccm.h"
|
#include "aes_ccm.h"
|
||||||
|
|
||||||
|
|
||||||
static int ieee80211_ioctl_siwessid(struct net_device *dev,
|
|
||||||
struct iw_request_info *info,
|
|
||||||
struct iw_point *data, char *ssid)
|
|
||||||
{
|
|
||||||
struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
|
|
||||||
|
|
||||||
if (sdata->vif.type == NL80211_IFTYPE_ADHOC)
|
|
||||||
return cfg80211_ibss_wext_siwessid(dev, info, data, ssid);
|
|
||||||
else if (sdata->vif.type == NL80211_IFTYPE_STATION)
|
|
||||||
return cfg80211_mgd_wext_siwessid(dev, info, data, ssid);
|
|
||||||
|
|
||||||
return -EOPNOTSUPP;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static int ieee80211_ioctl_giwessid(struct net_device *dev,
|
|
||||||
struct iw_request_info *info,
|
|
||||||
struct iw_point *data, char *ssid)
|
|
||||||
{
|
|
||||||
struct ieee80211_sub_if_data *sdata;
|
|
||||||
|
|
||||||
sdata = IEEE80211_DEV_TO_SUB_IF(dev);
|
|
||||||
|
|
||||||
if (sdata->vif.type == NL80211_IFTYPE_ADHOC)
|
|
||||||
return cfg80211_ibss_wext_giwessid(dev, info, data, ssid);
|
|
||||||
else if (sdata->vif.type == NL80211_IFTYPE_STATION)
|
|
||||||
return cfg80211_mgd_wext_giwessid(dev, info, data, ssid);
|
|
||||||
|
|
||||||
return -EOPNOTSUPP;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* Structures to export the Wireless Handlers */
|
/* Structures to export the Wireless Handlers */
|
||||||
|
|
||||||
@ -89,8 +58,8 @@ static const iw_handler ieee80211_handler[] =
|
|||||||
(iw_handler) NULL, /* SIOCGIWAPLIST */
|
(iw_handler) NULL, /* SIOCGIWAPLIST */
|
||||||
(iw_handler) cfg80211_wext_siwscan, /* SIOCSIWSCAN */
|
(iw_handler) cfg80211_wext_siwscan, /* SIOCSIWSCAN */
|
||||||
(iw_handler) cfg80211_wext_giwscan, /* SIOCGIWSCAN */
|
(iw_handler) cfg80211_wext_giwscan, /* SIOCGIWSCAN */
|
||||||
(iw_handler) ieee80211_ioctl_siwessid, /* SIOCSIWESSID */
|
(iw_handler) cfg80211_wext_siwessid, /* SIOCSIWESSID */
|
||||||
(iw_handler) ieee80211_ioctl_giwessid, /* SIOCGIWESSID */
|
(iw_handler) cfg80211_wext_giwessid, /* SIOCGIWESSID */
|
||||||
(iw_handler) NULL, /* SIOCSIWNICKN */
|
(iw_handler) NULL, /* SIOCSIWNICKN */
|
||||||
(iw_handler) NULL, /* SIOCGIWNICKN */
|
(iw_handler) NULL, /* SIOCGIWNICKN */
|
||||||
(iw_handler) NULL, /* -- hole -- */
|
(iw_handler) NULL, /* -- hole -- */
|
||||||
|
@ -381,8 +381,6 @@ int cfg80211_ibss_wext_siwessid(struct net_device *dev,
|
|||||||
|
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
/* temporary symbol - mark GPL - in the future the handler won't be */
|
|
||||||
EXPORT_SYMBOL_GPL(cfg80211_ibss_wext_siwessid);
|
|
||||||
|
|
||||||
int cfg80211_ibss_wext_giwessid(struct net_device *dev,
|
int cfg80211_ibss_wext_giwessid(struct net_device *dev,
|
||||||
struct iw_request_info *info,
|
struct iw_request_info *info,
|
||||||
@ -410,8 +408,6 @@ int cfg80211_ibss_wext_giwessid(struct net_device *dev,
|
|||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
/* temporary symbol - mark GPL - in the future the handler won't be */
|
|
||||||
EXPORT_SYMBOL_GPL(cfg80211_ibss_wext_giwessid);
|
|
||||||
|
|
||||||
int cfg80211_ibss_wext_siwap(struct net_device *dev,
|
int cfg80211_ibss_wext_siwap(struct net_device *dev,
|
||||||
struct iw_request_info *info,
|
struct iw_request_info *info,
|
||||||
|
@ -1363,3 +1363,37 @@ int cfg80211_wext_giwap(struct net_device *dev,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(cfg80211_wext_giwap);
|
EXPORT_SYMBOL_GPL(cfg80211_wext_giwap);
|
||||||
|
|
||||||
|
int cfg80211_wext_siwessid(struct net_device *dev,
|
||||||
|
struct iw_request_info *info,
|
||||||
|
struct iw_point *data, char *ssid)
|
||||||
|
{
|
||||||
|
struct wireless_dev *wdev = dev->ieee80211_ptr;
|
||||||
|
|
||||||
|
switch (wdev->iftype) {
|
||||||
|
case NL80211_IFTYPE_ADHOC:
|
||||||
|
return cfg80211_ibss_wext_siwessid(dev, info, data, ssid);
|
||||||
|
case NL80211_IFTYPE_STATION:
|
||||||
|
return cfg80211_mgd_wext_siwessid(dev, info, data, ssid);
|
||||||
|
default:
|
||||||
|
return -EOPNOTSUPP;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(cfg80211_wext_siwessid);
|
||||||
|
|
||||||
|
int cfg80211_wext_giwessid(struct net_device *dev,
|
||||||
|
struct iw_request_info *info,
|
||||||
|
struct iw_point *data, char *ssid)
|
||||||
|
{
|
||||||
|
struct wireless_dev *wdev = dev->ieee80211_ptr;
|
||||||
|
|
||||||
|
switch (wdev->iftype) {
|
||||||
|
case NL80211_IFTYPE_ADHOC:
|
||||||
|
return cfg80211_ibss_wext_giwessid(dev, info, data, ssid);
|
||||||
|
case NL80211_IFTYPE_STATION:
|
||||||
|
return cfg80211_mgd_wext_giwessid(dev, info, data, ssid);
|
||||||
|
default:
|
||||||
|
return -EOPNOTSUPP;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(cfg80211_wext_giwessid);
|
||||||
|
@ -13,6 +13,12 @@ int cfg80211_ibss_wext_siwap(struct net_device *dev,
|
|||||||
int cfg80211_ibss_wext_giwap(struct net_device *dev,
|
int cfg80211_ibss_wext_giwap(struct net_device *dev,
|
||||||
struct iw_request_info *info,
|
struct iw_request_info *info,
|
||||||
struct sockaddr *ap_addr, char *extra);
|
struct sockaddr *ap_addr, char *extra);
|
||||||
|
int cfg80211_ibss_wext_siwessid(struct net_device *dev,
|
||||||
|
struct iw_request_info *info,
|
||||||
|
struct iw_point *data, char *ssid);
|
||||||
|
int cfg80211_ibss_wext_giwessid(struct net_device *dev,
|
||||||
|
struct iw_request_info *info,
|
||||||
|
struct iw_point *data, char *ssid);
|
||||||
|
|
||||||
int cfg80211_mgd_wext_siwfreq(struct net_device *dev,
|
int cfg80211_mgd_wext_siwfreq(struct net_device *dev,
|
||||||
struct iw_request_info *info,
|
struct iw_request_info *info,
|
||||||
@ -26,6 +32,12 @@ int cfg80211_mgd_wext_siwap(struct net_device *dev,
|
|||||||
int cfg80211_mgd_wext_giwap(struct net_device *dev,
|
int cfg80211_mgd_wext_giwap(struct net_device *dev,
|
||||||
struct iw_request_info *info,
|
struct iw_request_info *info,
|
||||||
struct sockaddr *ap_addr, char *extra);
|
struct sockaddr *ap_addr, char *extra);
|
||||||
|
int cfg80211_mgd_wext_siwessid(struct net_device *dev,
|
||||||
|
struct iw_request_info *info,
|
||||||
|
struct iw_point *data, char *ssid);
|
||||||
|
int cfg80211_mgd_wext_giwessid(struct net_device *dev,
|
||||||
|
struct iw_request_info *info,
|
||||||
|
struct iw_point *data, char *ssid);
|
||||||
|
|
||||||
struct ieee80211_channel *cfg80211_wext_freq(struct wiphy *wiphy,
|
struct ieee80211_channel *cfg80211_wext_freq(struct wiphy *wiphy,
|
||||||
struct iw_freq *freq);
|
struct iw_freq *freq);
|
||||||
|
@ -192,8 +192,6 @@ int cfg80211_mgd_wext_siwessid(struct net_device *dev,
|
|||||||
cfg80211_unlock_rdev(wiphy_to_dev(wdev->wiphy));
|
cfg80211_unlock_rdev(wiphy_to_dev(wdev->wiphy));
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
/* temporary symbol - mark GPL - in the future the handler won't be */
|
|
||||||
EXPORT_SYMBOL_GPL(cfg80211_mgd_wext_siwessid);
|
|
||||||
|
|
||||||
int cfg80211_mgd_wext_giwessid(struct net_device *dev,
|
int cfg80211_mgd_wext_giwessid(struct net_device *dev,
|
||||||
struct iw_request_info *info,
|
struct iw_request_info *info,
|
||||||
@ -218,8 +216,6 @@ int cfg80211_mgd_wext_giwessid(struct net_device *dev,
|
|||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
/* temporary symbol - mark GPL - in the future the handler won't be */
|
|
||||||
EXPORT_SYMBOL_GPL(cfg80211_mgd_wext_giwessid);
|
|
||||||
|
|
||||||
int cfg80211_mgd_wext_siwap(struct net_device *dev,
|
int cfg80211_mgd_wext_siwap(struct net_device *dev,
|
||||||
struct iw_request_info *info,
|
struct iw_request_info *info,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user