wireless: Use macros from wireless.h
Subsystems (6)
v3 cover wireless: Use macros from wireless.h
Create a IW_HANDLER macro for iw_handler array entries in wireless.h Use the wireless.h macros in various wireless files
Use starting index define SIOCIWFIRST where appropriate Remove local #defines of IW_IOCTL
Remove STD_IW_HANDLER macro in orinoco, use IW_HANDLER instead
Joe Perches (9):
include/linux/wireless.h: Add IW_HANDLER macro to initialize array entry wireless.h: Use SIOCIWFIRST not SIOCSIWCOMMIT for range check include/net/iw_handler.h: Use SIOCIWFIRST not SIOCSIWCOMMIT in comment net/wireless/wext_core.c: Use IW_IOCTL_IDX macro net/wireless/wext-core.c: Use IW_EVENT_IDX macro drivers/net/wireless: Use IW_HANDLER macro
drivers/net: Remove local #define IW_IOCTL, use IW_HANDLER orinoco/wext.c: Remove local #define STD_IW_HANDLER drivers/net/wireless/ray_cs.c: Use iw_handler function prototypes
drivers/net/ps3_gelic_wireless.c | 35 +++--- drivers/net/wireless/ipw2x00/ipw2200.c | 83 ++++++------- drivers/net/wireless/orinoco/wext.c | 94 +++++++------- drivers/net/wireless/ray_cs.c | 212 +++++++++++++++----------------- drivers/net/wireless/wl3501_cs.c | 52 ++++---- include/linux/wireless.h | 4 +- include/net/iw_handler.h | 2 +- net/wireless/wext-core.c | 134 ++++++++++---------- 8 files changed, 298 insertions(+), 318 deletions(-)
PATCH v3 1/9 include/linux/wireless.h: Add IW_HANDLER macro to initialize array entry
Copied the idea from orinoco
--- include/linux/wireless.h | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)
include/linux/wireless.h +2 -0
@@ -346,6 +346,8 @@#define SIOCIWFIRST 0x8B00#define SIOCIWLAST SIOCIWLASTPRIV/* 0x8BFF */ #define IW_IOCTL_IDX (cmd) ((cmd) - SIOCIWFIRST) +#define IW_HANDLER (id, func) \ + [IW_IOCTL_IDX(id)] = func/* Odd : get (world access), even : set (root access) */ #define IW_IS_SET (cmd) (!((cmd) & 0x1))
Signature · 1 line
1.7.0.14.g7e948
PATCH v3 2/9 wireless.h: Use SIOCIWFIRST not SIOCSIWCOMMIT for range check
In reply to Joe PerchesThese two #defines use the same value, but
SIOCIWFIRST makes more sense in this use.
--- include/linux/wireless.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
include/linux/wireless.h +1 -1
@@ -650,7 +650,7 @@* 32 bit bitmasks. Note : 32 bits = 0x20 = 2^5. */ #define IW_EVENT_CAPA_BASE (cmd) ((cmd >= SIOCIWFIRSTPRIV) ? \ (cmd - SIOCIWFIRSTPRIV + 0x60) : \ - (cmd - SIOCSIWCOMMIT)) + (cmd - SIOCIWFIRST))#define IW_EVENT_CAPA_INDEX (cmd) (IW_EVENT_CAPA_BASE(cmd) >> 5)#define IW_EVENT_CAPA_MASK (cmd) (1 << (IW_EVENT_CAPA_BASE(cmd) & 0x1F))/* Event capability constants - event autogenerated by the kernel
Signature · 1 line
1.7.0.14.g7e948
PATCH v3 3/9 include/net/iw_handler.h: Use SIOCIWFIRST not SIOCSIWCOMMIT in comment
In reply to Joe Perchesto match use in IW_IOCTL_IDX macro
--- include/net/iw_handler.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
include/net/iw_handler.h +1 -1
@@ -323,7 +323,7 @@ typedef int (*iw_handler)(struct net_device *dev, struct iw_request_info *info,struct iw_handler_def {/* Array of handlers for standard ioctls -* We will call dev->wireless_handlers->standard[ioctl - SIOCSIWCOMMIT] +* We will call dev->wireless_handlers->standard[ioctl - SIOCIWFIRST] */ const iw_handler * standard;/* Number of handlers defined (more precisely, index of the
Signature · 1 line
1.7.0.14.g7e948
PATCH v3 4/9 net/wireless/wext_core.c: Use IW_IOCTL_IDX macro
In reply to Joe PerchesThere's a wireless.h macro for this, might as well use it.
--- net/wireless/wext-core.c | 112 +++++++++++++++++++++++----------------------- 1 files changed, 56 insertions(+), 56 deletions(-)
net/wireless/wext-core.c +56 -56
@@ -28,226 +28,226 @@ typedef int (*wext_ioctl_func)(struct net_device *, struct iwreq *,* know about. */ static const struct iw_ioctl_description standard_ioctl[] = { - [SIOCSIWCOMMIT -SIOCIWFIRST ] = { + [IW_IOCTL_IDX (SIOCSIWCOMMIT )] = { .header_type =IW_HEADER_TYPE_NULL , }, - [SIOCGIWNAME -SIOCIWFIRST ] = { + [IW_IOCTL_IDX (SIOCGIWNAME )] = { .header_type =IW_HEADER_TYPE_CHAR , .flags =IW_DESCR_FLAG_DUMP , }, - [SIOCSIWNWID -SIOCIWFIRST ] = { + [IW_IOCTL_IDX (SIOCSIWNWID )] = { .header_type =IW_HEADER_TYPE_PARAM , .flags =IW_DESCR_FLAG_EVENT , }, - [SIOCGIWNWID -SIOCIWFIRST ] = { + [IW_IOCTL_IDX (SIOCGIWNWID )] = { .header_type =IW_HEADER_TYPE_PARAM , .flags =IW_DESCR_FLAG_DUMP , }, - [SIOCSIWFREQ -SIOCIWFIRST ] = { + [IW_IOCTL_IDX (SIOCSIWFREQ )] = { .header_type =IW_HEADER_TYPE_FREQ , .flags =IW_DESCR_FLAG_EVENT , }, - [SIOCGIWFREQ -SIOCIWFIRST ] = { + [IW_IOCTL_IDX (SIOCGIWFREQ )] = { .header_type =IW_HEADER_TYPE_FREQ , .flags =IW_DESCR_FLAG_DUMP , }, - [SIOCSIWMODE -SIOCIWFIRST ] = { + [IW_IOCTL_IDX (SIOCSIWMODE )] = { .header_type =IW_HEADER_TYPE_UINT , .flags =IW_DESCR_FLAG_EVENT , }, - [SIOCGIWMODE -SIOCIWFIRST ] = { + [IW_IOCTL_IDX (SIOCGIWMODE )] = { .header_type =IW_HEADER_TYPE_UINT , .flags =IW_DESCR_FLAG_DUMP , }, - [SIOCSIWSENS -SIOCIWFIRST ] = { + [IW_IOCTL_IDX (SIOCSIWSENS )] = { .header_type =IW_HEADER_TYPE_PARAM , }, - [SIOCGIWSENS -SIOCIWFIRST ] = { + [IW_IOCTL_IDX (SIOCGIWSENS )] = { .header_type =IW_HEADER_TYPE_PARAM , }, - [SIOCSIWRANGE -SIOCIWFIRST ] = { + [IW_IOCTL_IDX (SIOCSIWRANGE )] = { .header_type =IW_HEADER_TYPE_NULL , }, - [SIOCGIWRANGE -SIOCIWFIRST ] = { + [IW_IOCTL_IDX (SIOCGIWRANGE )] = { .header_type =IW_HEADER_TYPE_POINT , .token_size =1 , .max_tokens =sizeof (struct iw_range ), .flags =IW_DESCR_FLAG_DUMP , }, - [SIOCSIWPRIV -SIOCIWFIRST ] = { + [IW_IOCTL_IDX (SIOCSIWPRIV )] = { .header_type =IW_HEADER_TYPE_NULL , }, - [SIOCGIWPRIV -SIOCIWFIRST ] = {/* (handled directly by us) */ + [IW_IOCTL_IDX (SIOCGIWPRIV )] = {/* (handled directly by us) */ .header_type =IW_HEADER_TYPE_POINT , .token_size =sizeof (struct iw_priv_args ), .max_tokens =16 , .flags =IW_DESCR_FLAG_NOMAX , }, - [SIOCSIWSTATS -SIOCIWFIRST ] = { + [IW_IOCTL_IDX (SIOCSIWSTATS )] = { .header_type =IW_HEADER_TYPE_NULL , }, - [SIOCGIWSTATS -SIOCIWFIRST ] = {/* (handled directly by us) */ + [IW_IOCTL_IDX (SIOCGIWSTATS )] = {/* (handled directly by us) */ .header_type =IW_HEADER_TYPE_POINT , .token_size =1 , .max_tokens =sizeof (struct iw_statistics ), .flags =IW_DESCR_FLAG_DUMP , }, - [SIOCSIWSPY -SIOCIWFIRST ] = { + [IW_IOCTL_IDX (SIOCSIWSPY )] = { .header_type =IW_HEADER_TYPE_POINT , .token_size =sizeof (struct sockaddr ), .max_tokens =IW_MAX_SPY , }, - [SIOCGIWSPY -SIOCIWFIRST ] = { + [IW_IOCTL_IDX (SIOCGIWSPY )] = { .header_type =IW_HEADER_TYPE_POINT , .token_size =sizeof (struct sockaddr ) +sizeof (struct iw_quality ), .max_tokens =IW_MAX_SPY , }, - [SIOCSIWTHRSPY -SIOCIWFIRST ] = { + [IW_IOCTL_IDX (SIOCSIWTHRSPY )] = { .header_type =IW_HEADER_TYPE_POINT , .token_size =sizeof (struct iw_thrspy ), .min_tokens =1 , .max_tokens =1 , }, - [SIOCGIWTHRSPY -SIOCIWFIRST ] = { + [IW_IOCTL_IDX (SIOCGIWTHRSPY )] = { .header_type =IW_HEADER_TYPE_POINT , .token_size =sizeof (struct iw_thrspy ), .min_tokens =1 , .max_tokens =1 , }, - [SIOCSIWAP -SIOCIWFIRST ] = { + [IW_IOCTL_IDX (SIOCSIWAP )] = { .header_type =IW_HEADER_TYPE_ADDR , }, - [SIOCGIWAP -SIOCIWFIRST ] = { + [IW_IOCTL_IDX (SIOCGIWAP )] = { .header_type =IW_HEADER_TYPE_ADDR , .flags =IW_DESCR_FLAG_DUMP , }, - [SIOCSIWMLME -SIOCIWFIRST ] = { + [IW_IOCTL_IDX (SIOCSIWMLME )] = { .header_type =IW_HEADER_TYPE_POINT , .token_size =1 , .min_tokens =sizeof (struct iw_mlme ), .max_tokens =sizeof (struct iw_mlme ), }, - [SIOCGIWAPLIST -SIOCIWFIRST ] = { + [IW_IOCTL_IDX (SIOCGIWAPLIST )] = { .header_type =IW_HEADER_TYPE_POINT , .token_size =sizeof (struct sockaddr ) +sizeof (struct iw_quality ), .max_tokens =IW_MAX_AP , .flags =IW_DESCR_FLAG_NOMAX , }, - [SIOCSIWSCAN -SIOCIWFIRST ] = { + [IW_IOCTL_IDX (SIOCSIWSCAN )] = { .header_type =IW_HEADER_TYPE_POINT , .token_size =1 , .min_tokens =0 , .max_tokens =sizeof (struct iw_scan_req ), }, - [SIOCGIWSCAN -SIOCIWFIRST ] = { + [IW_IOCTL_IDX (SIOCGIWSCAN )] = { .header_type =IW_HEADER_TYPE_POINT , .token_size =1 , .max_tokens =IW_SCAN_MAX_DATA , .flags =IW_DESCR_FLAG_NOMAX , }, - [SIOCSIWESSID -SIOCIWFIRST ] = { + [IW_IOCTL_IDX (SIOCSIWESSID )] = { .header_type =IW_HEADER_TYPE_POINT , .token_size =1 , .max_tokens =IW_ESSID_MAX_SIZE , .flags =IW_DESCR_FLAG_EVENT , }, - [SIOCGIWESSID -SIOCIWFIRST ] = { + [IW_IOCTL_IDX (SIOCGIWESSID )] = { .header_type =IW_HEADER_TYPE_POINT , .token_size =1 , .max_tokens =IW_ESSID_MAX_SIZE , .flags =IW_DESCR_FLAG_DUMP , }, - [SIOCSIWNICKN -SIOCIWFIRST ] = { + [IW_IOCTL_IDX (SIOCSIWNICKN )] = { .header_type =IW_HEADER_TYPE_POINT , .token_size =1 , .max_tokens =IW_ESSID_MAX_SIZE , }, - [SIOCGIWNICKN -SIOCIWFIRST ] = { + [IW_IOCTL_IDX (SIOCGIWNICKN )] = { .header_type =IW_HEADER_TYPE_POINT , .token_size =1 , .max_tokens =IW_ESSID_MAX_SIZE , }, - [SIOCSIWRATE -SIOCIWFIRST ] = { + [IW_IOCTL_IDX (SIOCSIWRATE )] = { .header_type =IW_HEADER_TYPE_PARAM , }, - [SIOCGIWRATE -SIOCIWFIRST ] = { + [IW_IOCTL_IDX (SIOCGIWRATE )] = { .header_type =IW_HEADER_TYPE_PARAM , }, - [SIOCSIWRTS -SIOCIWFIRST ] = { + [IW_IOCTL_IDX (SIOCSIWRTS )] = { .header_type =IW_HEADER_TYPE_PARAM , }, - [SIOCGIWRTS -SIOCIWFIRST ] = { + [IW_IOCTL_IDX (SIOCGIWRTS )] = { .header_type =IW_HEADER_TYPE_PARAM , }, - [SIOCSIWFRAG -SIOCIWFIRST ] = { + [IW_IOCTL_IDX (SIOCSIWFRAG )] = { .header_type =IW_HEADER_TYPE_PARAM , }, - [SIOCGIWFRAG -SIOCIWFIRST ] = { + [IW_IOCTL_IDX (SIOCGIWFRAG )] = { .header_type =IW_HEADER_TYPE_PARAM , }, - [SIOCSIWTXPOW -SIOCIWFIRST ] = { + [IW_IOCTL_IDX (SIOCSIWTXPOW )] = { .header_type =IW_HEADER_TYPE_PARAM , }, - [SIOCGIWTXPOW -SIOCIWFIRST ] = { + [IW_IOCTL_IDX (SIOCGIWTXPOW )] = { .header_type =IW_HEADER_TYPE_PARAM , }, - [SIOCSIWRETRY -SIOCIWFIRST ] = { + [IW_IOCTL_IDX (SIOCSIWRETRY )] = { .header_type =IW_HEADER_TYPE_PARAM , }, - [SIOCGIWRETRY -SIOCIWFIRST ] = { + [IW_IOCTL_IDX (SIOCGIWRETRY )] = { .header_type =IW_HEADER_TYPE_PARAM , }, - [SIOCSIWENCODE -SIOCIWFIRST ] = { + [IW_IOCTL_IDX (SIOCSIWENCODE )] = { .header_type =IW_HEADER_TYPE_POINT , .token_size =1 , .max_tokens =IW_ENCODING_TOKEN_MAX , .flags =IW_DESCR_FLAG_EVENT |IW_DESCR_FLAG_RESTRICT , }, - [SIOCGIWENCODE -SIOCIWFIRST ] = { + [IW_IOCTL_IDX (SIOCGIWENCODE )] = { .header_type =IW_HEADER_TYPE_POINT , .token_size =1 , .max_tokens =IW_ENCODING_TOKEN_MAX , .flags =IW_DESCR_FLAG_DUMP |IW_DESCR_FLAG_RESTRICT , }, - [SIOCSIWPOWER -SIOCIWFIRST ] = { + [IW_IOCTL_IDX (SIOCSIWPOWER )] = { .header_type =IW_HEADER_TYPE_PARAM , }, - [SIOCGIWPOWER -SIOCIWFIRST ] = { + [IW_IOCTL_IDX (SIOCGIWPOWER )] = { .header_type =IW_HEADER_TYPE_PARAM , }, - [SIOCSIWGENIE -SIOCIWFIRST ] = { + [IW_IOCTL_IDX (SIOCSIWGENIE )] = { .header_type =IW_HEADER_TYPE_POINT , .token_size =1 , .max_tokens =IW_GENERIC_IE_MAX , }, - [SIOCGIWGENIE -SIOCIWFIRST ] = { + [IW_IOCTL_IDX (SIOCGIWGENIE )] = { .header_type =IW_HEADER_TYPE_POINT , .token_size =1 , .max_tokens =IW_GENERIC_IE_MAX , }, - [SIOCSIWAUTH -SIOCIWFIRST ] = { + [IW_IOCTL_IDX (SIOCSIWAUTH )] = { .header_type =IW_HEADER_TYPE_PARAM , }, - [SIOCGIWAUTH -SIOCIWFIRST ] = { + [IW_IOCTL_IDX (SIOCGIWAUTH )] = { .header_type =IW_HEADER_TYPE_PARAM , }, - [SIOCSIWENCODEEXT -SIOCIWFIRST ] = { + [IW_IOCTL_IDX (SIOCSIWENCODEEXT )] = { .header_type =IW_HEADER_TYPE_POINT , .token_size =1 , .min_tokens =sizeof (struct iw_encode_ext ), .max_tokens =sizeof (struct iw_encode_ext ) +IW_ENCODING_TOKEN_MAX , }, - [SIOCGIWENCODEEXT -SIOCIWFIRST ] = { + [IW_IOCTL_IDX (SIOCGIWENCODEEXT )] = { .header_type =IW_HEADER_TYPE_POINT , .token_size =1 , .min_tokens =sizeof (struct iw_encode_ext ), .max_tokens =sizeof (struct iw_encode_ext ) +IW_ENCODING_TOKEN_MAX , }, - [SIOCSIWPMKSA -SIOCIWFIRST ] = { + [IW_IOCTL_IDX (SIOCSIWPMKSA )] = { .header_type =IW_HEADER_TYPE_POINT , .token_size =1 , .min_tokens =sizeof (struct iw_pmksa ),
@@ -449,7 +449,7 @@ void wireless_send_event(struct net_device * dev,/* Get the description of the Event */ if (cmd <=SIOCIWLAST ) { - cmd_index = cmd -SIOCIWFIRST ; + cmd_index =IW_IOCTL_IDX (cmd);if (cmd_index < standard_ioctl_num) descr = &(standard_ioctl[cmd_index]); }else {
@@ -662,7 +662,7 @@ static iw_handler get_handler(struct net_device *dev, unsigned int cmd)return NULL ;/* Try as a standard command */ - index = cmd -SIOCIWFIRST ; + index =IW_IOCTL_IDX (cmd);if (index < handlers->num_standard)return handlers->standard[index];
@@ -954,9 +954,9 @@ static int ioctl_standard_call(struct net_device * dev,int ret = -EINVAL ;/* Get the description of the IOCTL */ -if ((cmd -SIOCIWFIRST ) >= standard_ioctl_num) +if (IW_IOCTL_IDX (cmd) >= standard_ioctl_num)return -EOPNOTSUPP ; - descr = &(standard_ioctl[cmd -SIOCIWFIRST ]); + descr = &(standard_ioctl[IW_IOCTL_IDX (cmd)]);/* Check if we have a pointer to user space data or not */ if (descr->header_type !=IW_HEADER_TYPE_POINT ) {
@@ -1012,7 +1012,7 @@ static int compat_standard_call(struct net_device *dev,struct iw_point iwp;int err; - descr = standard_ioctl + (cmd -SIOCIWFIRST ); + descr = standard_ioctl +IW_IOCTL_IDX (cmd);if (descr->header_type !=IW_HEADER_TYPE_POINT )return ioctl_standard_call (dev, iwr, cmd, info, handler);
Signature · 1 line
1.7.0.14.g7e948
PATCH v3 5/9 net/wireless/wext-core.c: Use IW_EVENT_IDX macro
In reply to Joe PerchesThere's a wireless.h macro for this, might as well use it.
--- net/wireless/wext-core.c | 22 +++++++++++----------- 1 files changed, 11 insertions(+), 11 deletions(-)
net/wireless/wext-core.c +11 -11
@@ -261,44 +261,44 @@ static const unsigned standard_ioctl_num = ARRAY_SIZE(standard_ioctl);* we know about. */ static const struct iw_ioctl_description standard_event[] = { - [IWEVTXDROP -IWEVFIRST ] = { + [IW_EVENT_IDX (IWEVTXDROP )] = { .header_type =IW_HEADER_TYPE_ADDR , }, - [IWEVQUAL -IWEVFIRST ] = { + [IW_EVENT_IDX (IWEVQUAL )] = { .header_type =IW_HEADER_TYPE_QUAL , }, - [IWEVCUSTOM -IWEVFIRST ] = { + [IW_EVENT_IDX (IWEVCUSTOM )] = { .header_type =IW_HEADER_TYPE_POINT , .token_size =1 , .max_tokens =IW_CUSTOM_MAX , }, - [IWEVREGISTERED -IWEVFIRST ] = { + [IW_EVENT_IDX (IWEVREGISTERED )] = { .header_type =IW_HEADER_TYPE_ADDR , }, - [IWEVEXPIRED -IWEVFIRST ] = { + [IW_EVENT_IDX (IWEVEXPIRED )] = { .header_type =IW_HEADER_TYPE_ADDR , }, - [IWEVGENIE -IWEVFIRST ] = { + [IW_EVENT_IDX (IWEVGENIE )] = { .header_type =IW_HEADER_TYPE_POINT , .token_size =1 , .max_tokens =IW_GENERIC_IE_MAX , }, - [IWEVMICHAELMICFAILURE -IWEVFIRST ] = { + [IW_EVENT_IDX (IWEVMICHAELMICFAILURE )] = { .header_type =IW_HEADER_TYPE_POINT , .token_size =1 , .max_tokens =sizeof (struct iw_michaelmicfailure ), }, - [IWEVASSOCREQIE -IWEVFIRST ] = { + [IW_EVENT_IDX (IWEVASSOCREQIE )] = { .header_type =IW_HEADER_TYPE_POINT , .token_size =1 , .max_tokens =IW_GENERIC_IE_MAX , }, - [IWEVASSOCRESPIE -IWEVFIRST ] = { + [IW_EVENT_IDX (IWEVASSOCRESPIE )] = { .header_type =IW_HEADER_TYPE_POINT , .token_size =1 , .max_tokens =IW_GENERIC_IE_MAX , }, - [IWEVPMKIDCAND -IWEVFIRST ] = { + [IW_EVENT_IDX (IWEVPMKIDCAND )] = { .header_type =IW_HEADER_TYPE_POINT , .token_size =1 , .max_tokens =sizeof (struct iw_pmkid_cand ),
@@ -453,7 +453,7 @@ void wireless_send_event(struct net_device * dev,if (cmd_index < standard_ioctl_num) descr = &(standard_ioctl[cmd_index]); }else { - cmd_index = cmd -IWEVFIRST ; + cmd_index =IW_EVENT_IDX (cmd);if (cmd_index < standard_event_num) descr = &(standard_event[cmd_index]); }
Signature · 1 line
1.7.0.14.g7e948
PATCH v3 6/9 drivers/net/wireless: Use IW_HANDLER macro
In reply to Joe PerchesConvert direct uses of [ (foo - SIOCIWFIRST) , fn)
--- drivers/net/wireless/ray_cs.c | 40 ++++++++++++++-------------- drivers/net/wireless/wl3501_cs.c | 52 +++++++++++++++++++------------------- 2 files changed, 46 insertions(+), 46 deletions(-)
drivers/net/wireless/ray_cs.c +20 -20
@@ -1531,28 +1531,28 @@ static iw_stats *ray_get_wireless_stats(struct net_device *dev)*/ static const iw_handler ray_handler[] = { - [SIOCSIWCOMMIT -SIOCIWFIRST ] = (iw_handler ) ray_commit, - [SIOCGIWNAME -SIOCIWFIRST ] = (iw_handler ) ray_get_name, - [SIOCSIWFREQ -SIOCIWFIRST ] = (iw_handler ) ray_set_freq, - [SIOCGIWFREQ -SIOCIWFIRST ] = (iw_handler ) ray_get_freq, - [SIOCSIWMODE -SIOCIWFIRST ] = (iw_handler ) ray_set_mode, - [SIOCGIWMODE -SIOCIWFIRST ] = (iw_handler ) ray_get_mode, - [SIOCGIWRANGE -SIOCIWFIRST ] = (iw_handler ) ray_get_range, +IW_HANDLER (SIOCSIWCOMMIT , (iw_handler )ray_commit), +IW_HANDLER (SIOCGIWNAME , (iw_handler )ray_get_name), +IW_HANDLER (SIOCSIWFREQ , (iw_handler )ray_set_freq), +IW_HANDLER (SIOCGIWFREQ , (iw_handler )ray_get_freq), +IW_HANDLER (SIOCSIWMODE , (iw_handler )ray_set_mode), +IW_HANDLER (SIOCGIWMODE , (iw_handler )ray_get_mode), +IW_HANDLER (SIOCGIWRANGE , (iw_handler )ray_get_range), #ifdef WIRELESS_SPY - [SIOCSIWSPY -SIOCIWFIRST ] = (iw_handler ) iw_handler_set_spy, - [SIOCGIWSPY -SIOCIWFIRST ] = (iw_handler ) iw_handler_get_spy, - [SIOCSIWTHRSPY -SIOCIWFIRST ] = (iw_handler ) iw_handler_set_thrspy, - [SIOCGIWTHRSPY -SIOCIWFIRST ] = (iw_handler ) iw_handler_get_thrspy, +IW_HANDLER (SIOCSIWSPY , iw_handler_set_spy), +IW_HANDLER (SIOCGIWSPY , iw_handler_get_spy), +IW_HANDLER (SIOCSIWTHRSPY , iw_handler_set_thrspy), +IW_HANDLER (SIOCGIWTHRSPY , iw_handler_get_thrspy), #endif /* WIRELESS_SPY */ - [SIOCGIWAP -SIOCIWFIRST ] = (iw_handler ) ray_get_wap, - [SIOCSIWESSID -SIOCIWFIRST ] = (iw_handler ) ray_set_essid, - [SIOCGIWESSID -SIOCIWFIRST ] = (iw_handler ) ray_get_essid, - [SIOCSIWRATE -SIOCIWFIRST ] = (iw_handler ) ray_set_rate, - [SIOCGIWRATE -SIOCIWFIRST ] = (iw_handler ) ray_get_rate, - [SIOCSIWRTS -SIOCIWFIRST ] = (iw_handler ) ray_set_rts, - [SIOCGIWRTS -SIOCIWFIRST ] = (iw_handler ) ray_get_rts, - [SIOCSIWFRAG -SIOCIWFIRST ] = (iw_handler ) ray_set_frag, - [SIOCGIWFRAG -SIOCIWFIRST ] = (iw_handler ) ray_get_frag, +IW_HANDLER (SIOCGIWAP , (iw_handler )ray_get_wap), +IW_HANDLER (SIOCSIWESSID , (iw_handler )ray_set_essid), +IW_HANDLER (SIOCGIWESSID , (iw_handler )ray_get_essid), +IW_HANDLER (SIOCSIWRATE , (iw_handler )ray_set_rate), +IW_HANDLER (SIOCGIWRATE , (iw_handler )ray_get_rate), +IW_HANDLER (SIOCSIWRTS , (iw_handler )ray_set_rts), +IW_HANDLER (SIOCGIWRTS , (iw_handler )ray_get_rts), +IW_HANDLER (SIOCSIWFRAG , (iw_handler )ray_set_frag), +IW_HANDLER (SIOCGIWFRAG , (iw_handler )ray_get_frag), };#define SIOCSIPFRAMING SIOCIWFIRSTPRIV/* Set framing mode */
drivers/net/wireless/wl3501_cs.c +26 -26
58 lines not on this page · raw message
Signature · 1 line
1.7.0.14.g7e948
PATCH v3 7/9 drivers/net: Remove local #define IW_IOCTL, use IW_HANDLER
In reply to Joe PerchesUse #define IW_HANDLER from wireless.h instead
--- drivers/net/ps3_gelic_wireless.c | 35 +++++++------- drivers/net/wireless/ipw2x00/ipw2200.c | 83 ++++++++++++++++---------------- 2 files changed, 58 insertions(+), 60 deletions(-)
drivers/net/ps3_gelic_wireless.c +17 -18
@@ -2279,26 +2279,25 @@ void gelic_wl_interrupt(struct net_device *netdev, u64 status)/* * driver helpers */ -#define IW_IOCTL (n) [(n) - SIOCSIWCOMMIT]static const iw_handler gelic_wl_wext_handler[] = { -IW_IOCTL (SIOCGIWNAME ) = gelic_wl_get_name, -IW_IOCTL (SIOCGIWRANGE ) = gelic_wl_get_range, -IW_IOCTL (SIOCSIWSCAN ) = gelic_wl_set_scan, -IW_IOCTL (SIOCGIWSCAN ) = gelic_wl_get_scan, -IW_IOCTL (SIOCSIWAUTH ) = gelic_wl_set_auth, -IW_IOCTL (SIOCGIWAUTH ) = gelic_wl_get_auth, -IW_IOCTL (SIOCSIWESSID ) = gelic_wl_set_essid, -IW_IOCTL (SIOCGIWESSID ) = gelic_wl_get_essid, -IW_IOCTL (SIOCSIWENCODE ) = gelic_wl_set_encode, -IW_IOCTL (SIOCGIWENCODE ) = gelic_wl_get_encode, -IW_IOCTL (SIOCSIWAP ) = gelic_wl_set_ap, -IW_IOCTL (SIOCGIWAP ) = gelic_wl_get_ap, -IW_IOCTL (SIOCSIWENCODEEXT ) = gelic_wl_set_encodeext, -IW_IOCTL (SIOCGIWENCODEEXT ) = gelic_wl_get_encodeext, -IW_IOCTL (SIOCSIWMODE ) = gelic_wl_set_mode, -IW_IOCTL (SIOCGIWMODE ) = gelic_wl_get_mode, -IW_IOCTL (SIOCGIWNICKN ) = gelic_wl_get_nick, +IW_HANDLER (SIOCGIWNAME , gelic_wl_get_name), +IW_HANDLER (SIOCGIWRANGE , gelic_wl_get_range), +IW_HANDLER (SIOCSIWSCAN , gelic_wl_set_scan), +IW_HANDLER (SIOCGIWSCAN , gelic_wl_get_scan), +IW_HANDLER (SIOCSIWAUTH , gelic_wl_set_auth), +IW_HANDLER (SIOCGIWAUTH , gelic_wl_get_auth), +IW_HANDLER (SIOCSIWESSID , gelic_wl_set_essid), +IW_HANDLER (SIOCGIWESSID , gelic_wl_get_essid), +IW_HANDLER (SIOCSIWENCODE , gelic_wl_set_encode), +IW_HANDLER (SIOCGIWENCODE , gelic_wl_get_encode), +IW_HANDLER (SIOCSIWAP , gelic_wl_set_ap), +IW_HANDLER (SIOCGIWAP , gelic_wl_get_ap), +IW_HANDLER (SIOCSIWENCODEEXT , gelic_wl_set_encodeext), +IW_HANDLER (SIOCGIWENCODEEXT , gelic_wl_get_encodeext), +IW_HANDLER (SIOCSIWMODE , gelic_wl_set_mode), +IW_HANDLER (SIOCGIWMODE , gelic_wl_get_mode), +IW_HANDLER (SIOCGIWNICKN , gelic_wl_get_nick), };static const struct iw_handler_def gelic_wl_wext_handler_def = {
drivers/net/wireless/ipw2x00/ipw2200.c +41 -42
90 lines not on this page · raw message
Signature · 1 line
1.7.0.14.g7e948
PATCH v3 8/9 orinoco/wext.c: Remove local #define STD_IW_HANDLER
In reply to Joe PerchesUse IW_HANDLER from wireless.h instead
--- drivers/net/wireless/orinoco/wext.c | 94 +++++++++++++++++------------------ 1 files changed, 46 insertions(+), 48 deletions(-)
drivers/net/wireless/orinoco/wext.c +46 -48
@@ -1505,46 +1505,44 @@ static const struct iw_priv_args orinoco_privtab[] = {* Structures to export the Wireless Handlers */ -#define STD_IW_HANDLER (id, func) \ - [IW_IOCTL_IDX(id)] = (iw_handler) funcstatic const iw_handler orinoco_handler[] = { -STD_IW_HANDLER (SIOCSIWCOMMIT , orinoco_ioctl_commit), -STD_IW_HANDLER (SIOCGIWNAME , cfg80211_wext_giwname), -STD_IW_HANDLER (SIOCSIWFREQ , orinoco_ioctl_setfreq), -STD_IW_HANDLER (SIOCGIWFREQ , orinoco_ioctl_getfreq), -STD_IW_HANDLER (SIOCSIWMODE , cfg80211_wext_siwmode), -STD_IW_HANDLER (SIOCGIWMODE , cfg80211_wext_giwmode), -STD_IW_HANDLER (SIOCSIWSENS , orinoco_ioctl_setsens), -STD_IW_HANDLER (SIOCGIWSENS , orinoco_ioctl_getsens), -STD_IW_HANDLER (SIOCGIWRANGE , cfg80211_wext_giwrange), -STD_IW_HANDLER (SIOCSIWSPY , iw_handler_set_spy), -STD_IW_HANDLER (SIOCGIWSPY , iw_handler_get_spy), -STD_IW_HANDLER (SIOCSIWTHRSPY , iw_handler_set_thrspy), -STD_IW_HANDLER (SIOCGIWTHRSPY , iw_handler_get_thrspy), -STD_IW_HANDLER (SIOCSIWAP , orinoco_ioctl_setwap), -STD_IW_HANDLER (SIOCGIWAP , orinoco_ioctl_getwap), -STD_IW_HANDLER (SIOCSIWSCAN , cfg80211_wext_siwscan), -STD_IW_HANDLER (SIOCGIWSCAN , cfg80211_wext_giwscan), -STD_IW_HANDLER (SIOCSIWESSID , orinoco_ioctl_setessid), -STD_IW_HANDLER (SIOCGIWESSID , orinoco_ioctl_getessid), -STD_IW_HANDLER (SIOCSIWRATE , orinoco_ioctl_setrate), -STD_IW_HANDLER (SIOCGIWRATE , orinoco_ioctl_getrate), -STD_IW_HANDLER (SIOCSIWRTS , orinoco_ioctl_setrts), -STD_IW_HANDLER (SIOCGIWRTS , orinoco_ioctl_getrts), -STD_IW_HANDLER (SIOCSIWFRAG , orinoco_ioctl_setfrag), -STD_IW_HANDLER (SIOCGIWFRAG , orinoco_ioctl_getfrag), -STD_IW_HANDLER (SIOCGIWRETRY , orinoco_ioctl_getretry), -STD_IW_HANDLER (SIOCSIWENCODE , orinoco_ioctl_setiwencode), -STD_IW_HANDLER (SIOCGIWENCODE , orinoco_ioctl_getiwencode), -STD_IW_HANDLER (SIOCSIWPOWER , orinoco_ioctl_setpower), -STD_IW_HANDLER (SIOCGIWPOWER , orinoco_ioctl_getpower), -STD_IW_HANDLER (SIOCSIWGENIE , orinoco_ioctl_set_genie), -STD_IW_HANDLER (SIOCGIWGENIE , orinoco_ioctl_get_genie), -STD_IW_HANDLER (SIOCSIWMLME , orinoco_ioctl_set_mlme), -STD_IW_HANDLER (SIOCSIWAUTH , orinoco_ioctl_set_auth), -STD_IW_HANDLER (SIOCGIWAUTH , orinoco_ioctl_get_auth), -STD_IW_HANDLER (SIOCSIWENCODEEXT , orinoco_ioctl_set_encodeext), -STD_IW_HANDLER (SIOCGIWENCODEEXT , orinoco_ioctl_get_encodeext), +IW_HANDLER (SIOCSIWCOMMIT , (iw_handler )orinoco_ioctl_commit), +IW_HANDLER (SIOCGIWNAME , (iw_handler )cfg80211_wext_giwname), +IW_HANDLER (SIOCSIWFREQ , (iw_handler )orinoco_ioctl_setfreq), +IW_HANDLER (SIOCGIWFREQ , (iw_handler )orinoco_ioctl_getfreq), +IW_HANDLER (SIOCSIWMODE , (iw_handler )cfg80211_wext_siwmode), +IW_HANDLER (SIOCGIWMODE , (iw_handler )cfg80211_wext_giwmode), +IW_HANDLER (SIOCSIWSENS , (iw_handler )orinoco_ioctl_setsens), +IW_HANDLER (SIOCGIWSENS , (iw_handler )orinoco_ioctl_getsens), +IW_HANDLER (SIOCGIWRANGE , (iw_handler )cfg80211_wext_giwrange), +IW_HANDLER (SIOCSIWSPY , iw_handler_set_spy), +IW_HANDLER (SIOCGIWSPY , iw_handler_get_spy), +IW_HANDLER (SIOCSIWTHRSPY , iw_handler_set_thrspy), +IW_HANDLER (SIOCGIWTHRSPY , iw_handler_get_thrspy), +IW_HANDLER (SIOCSIWAP , (iw_handler )orinoco_ioctl_setwap), +IW_HANDLER (SIOCGIWAP , (iw_handler )orinoco_ioctl_getwap), +IW_HANDLER (SIOCSIWSCAN , (iw_handler )cfg80211_wext_siwscan), +IW_HANDLER (SIOCGIWSCAN , (iw_handler )cfg80211_wext_giwscan), +IW_HANDLER (SIOCSIWESSID , (iw_handler )orinoco_ioctl_setessid), +IW_HANDLER (SIOCGIWESSID , (iw_handler )orinoco_ioctl_getessid), +IW_HANDLER (SIOCSIWRATE , (iw_handler )orinoco_ioctl_setrate), +IW_HANDLER (SIOCGIWRATE , (iw_handler )orinoco_ioctl_getrate), +IW_HANDLER (SIOCSIWRTS , (iw_handler )orinoco_ioctl_setrts), +IW_HANDLER (SIOCGIWRTS , (iw_handler )orinoco_ioctl_getrts), +IW_HANDLER (SIOCSIWFRAG , (iw_handler )orinoco_ioctl_setfrag), +IW_HANDLER (SIOCGIWFRAG , (iw_handler )orinoco_ioctl_getfrag), +IW_HANDLER (SIOCGIWRETRY , (iw_handler )orinoco_ioctl_getretry), +IW_HANDLER (SIOCSIWENCODE , (iw_handler )orinoco_ioctl_setiwencode), +IW_HANDLER (SIOCGIWENCODE , (iw_handler )orinoco_ioctl_getiwencode), +IW_HANDLER (SIOCSIWPOWER , (iw_handler )orinoco_ioctl_setpower), +IW_HANDLER (SIOCGIWPOWER , (iw_handler )orinoco_ioctl_getpower), +IW_HANDLER (SIOCSIWGENIE , orinoco_ioctl_set_genie), +IW_HANDLER (SIOCGIWGENIE , orinoco_ioctl_get_genie), +IW_HANDLER (SIOCSIWMLME , orinoco_ioctl_set_mlme), +IW_HANDLER (SIOCSIWAUTH , orinoco_ioctl_set_auth), +IW_HANDLER (SIOCGIWAUTH , orinoco_ioctl_get_auth), +IW_HANDLER (SIOCSIWENCODEEXT , orinoco_ioctl_set_encodeext), +IW_HANDLER (SIOCGIWENCODEEXT , orinoco_ioctl_get_encodeext), };
@@ -1552,15 +1550,15 @@ static const iw_handler orinoco_handler[] = {Added typecasting since we no longer use iwreq_data -- Moustafa */ static const iw_handler orinoco_private_handler[] = { - [0 ] = (iw_handler ) orinoco_ioctl_reset, - [1 ] = (iw_handler ) orinoco_ioctl_reset, - [2 ] = (iw_handler ) orinoco_ioctl_setport3, - [3 ] = (iw_handler ) orinoco_ioctl_getport3, - [4 ] = (iw_handler ) orinoco_ioctl_setpreamble, - [5 ] = (iw_handler ) orinoco_ioctl_getpreamble, - [6 ] = (iw_handler ) orinoco_ioctl_setibssport, - [7 ] = (iw_handler ) orinoco_ioctl_getibssport, - [9 ] = (iw_handler ) orinoco_ioctl_getrid, + [0 ] = (iw_handler )orinoco_ioctl_reset, + [1 ] = (iw_handler )orinoco_ioctl_reset, + [2 ] = (iw_handler )orinoco_ioctl_setport3, + [3 ] = (iw_handler )orinoco_ioctl_getport3, + [4 ] = (iw_handler )orinoco_ioctl_setpreamble, + [5 ] = (iw_handler )orinoco_ioctl_getpreamble, + [6 ] = (iw_handler )orinoco_ioctl_setibssport, + [7 ] = (iw_handler )orinoco_ioctl_getibssport, + [9 ] = (iw_handler )orinoco_ioctl_getrid, };const struct iw_handler_def orinoco_handler_def = {
Signature · 6 lines
1.7.0.14.g7e948 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
PATCH v3 9/9 drivers/net/wireless/ray_cs.c: Use iw_handler function prototypes
In reply to Joe PerchesChange local functions that are cast to iw_handler to the more standard use with "union iwreq_data *wrqu" so the iw_handler array no longer needs the casts.
--- drivers/net/wireless/ray_cs.c | 204 +++++++++++++++++++---------------------- 1 files changed, 93 insertions(+), 111 deletions(-)
drivers/net/wireless/ray_cs.c +93 -111
@@ -1113,10 +1113,10 @@ static const struct ethtool_ops netdev_ethtool_ops = {/* * Wireless Handler : get protocol name */ -static int ray_get_name (struct net_device *dev, -struct iw_request_info *info,char *cwrq,char *extra) +static int ray_get_name (struct net_device *dev,struct iw_request_info *info, +union iwreq_data *wrqu,char *extra) { -strcpy (cwrq,"IEEE 802.11-FH" ); +strcpy (wrqu->name,"IEEE 802.11-FH" );return 0 ; }
@@ -1124,9 +1124,8 @@ static int ray_get_name(struct net_device *dev,/* * Wireless Handler : set frequency */ -static int ray_set_freq (struct net_device *dev, -struct iw_request_info *info, -struct iw_freq *fwrq,char *extra) +static int ray_set_freq (struct net_device *dev,struct iw_request_info *info, +union iwreq_data *wrqu,char *extra) {ray_dev_t *local =netdev_priv (dev);int err = -EINPROGRESS ;/* Call commit handler */
@@ -1136,10 +1135,10 @@ static int ray_set_freq(struct net_device *dev,return -EBUSY ;/* Setting by channel number */ -if ((fwrq->m >USA_HOP_MOD ) || (fwrq->e >0 )) +if ((wrqu->freq.m >USA_HOP_MOD ) || (wrqu->freq.e >0 )) err = -EOPNOTSUPP ;else - local->sparm.b5.a_hop_pattern = fwrq->m; + local->sparm.b5.a_hop_pattern = wrqu->freq.m;return err; }
@@ -1148,14 +1147,13 @@ static int ray_set_freq(struct net_device *dev,/* * Wireless Handler : get frequency */ -static int ray_get_freq (struct net_device *dev, -struct iw_request_info *info, -struct iw_freq *fwrq,char *extra) +static int ray_get_freq (struct net_device *dev,struct iw_request_info *info, +union iwreq_data *wrqu,char *extra) {ray_dev_t *local =netdev_priv (dev); - fwrq->m = local->sparm.b5.a_hop_pattern; - fwrq->e =0 ; + wrqu->freq.m = local->sparm.b5.a_hop_pattern; + wrqu->freq.e =0 ;return 0 ; }
@@ -1163,9 +1161,8 @@ static int ray_get_freq(struct net_device *dev,/* * Wireless Handler : set ESSID */ -static int ray_set_essid (struct net_device *dev, -struct iw_request_info *info, -struct iw_point *dwrq,char *extra) +static int ray_set_essid (struct net_device *dev,struct iw_request_info *info, +union iwreq_data *wrqu,char *extra) {ray_dev_t *local =netdev_priv (dev);
@@ -1174,19 +1171,17 @@ static int ray_set_essid(struct net_device *dev,return -EBUSY ;/* Check if we asked for `any' */ -if (dwrq->flags ==0 ) { +if (wrqu->essid.flags ==0 )/* Corey : can you do that ? */ return -EOPNOTSUPP ; - }else { -/* Check the size of the string */ -if (dwrq->length >IW_ESSID_MAX_SIZE ) { -return -E2BIG ; - } -/* Set the ESSID in the card */ -memset (local->sparm.b5.a_current_ess_id,0 ,IW_ESSID_MAX_SIZE ); -memcpy (local->sparm.b5.a_current_ess_id, extra, dwrq->length); - } +/* Check the size of the string */ +if (wrqu->essid.length >IW_ESSID_MAX_SIZE ) +return -E2BIG ; + +/* Set the ESSID in the card */ +memset (local->sparm.b5.a_current_ess_id,0 ,IW_ESSID_MAX_SIZE ); +memcpy (local->sparm.b5.a_current_ess_id, extra, wrqu->essid.length);return -EINPROGRESS ;/* Call commit handler */ }
@@ -1195,9 +1190,8 @@ static int ray_set_essid(struct net_device *dev,/* * Wireless Handler : get ESSID */ -static int ray_get_essid (struct net_device *dev, -struct iw_request_info *info, -struct iw_point *dwrq,char *extra) +static int ray_get_essid (struct net_device *dev,struct iw_request_info *info, +union iwreq_data *wrqu,char *extra) {ray_dev_t *local =netdev_priv (dev);
@@ -1205,8 +1199,8 @@ static int ray_get_essid(struct net_device *dev,memcpy (extra, local->sparm.b5.a_current_ess_id,IW_ESSID_MAX_SIZE );/* Push it out ! */ - dwrq->length =strlen (extra); - dwrq->flags =1 ;/* active */ + wrqu->essid.length =strlen (extra); + wrqu->essid.flags =1 ;/* active */ return 0 ; }
@@ -1215,14 +1209,13 @@ static int ray_get_essid(struct net_device *dev,/* * Wireless Handler : get AP address */ -static int ray_get_wap (struct net_device *dev, -struct iw_request_info *info, -struct sockaddr *awrq,char *extra) +static int ray_get_wap (struct net_device *dev,struct iw_request_info *info, +union iwreq_data *wrqu,char *extra) {ray_dev_t *local =netdev_priv (dev); -memcpy (awrq->sa_data, local->bss_id,ETH_ALEN ); - awrq->sa_family =ARPHRD_ETHER ; +memcpy (wrqu->ap_addr.sa_data, local->bss_id,ETH_ALEN ); + wrqu->ap_addr.sa_family =ARPHRD_ETHER ;return 0 ; }
@@ -1231,9 +1224,8 @@ static int ray_get_wap(struct net_device *dev,/* * Wireless Handler : set Bit-Rate */ -static int ray_set_rate (struct net_device *dev, -struct iw_request_info *info, -struct iw_param *vwrq,char *extra) +static int ray_set_rate (struct net_device *dev,struct iw_request_info *info, +union iwreq_data *wrqu,char *extra) {ray_dev_t *local =netdev_priv (dev);
@@ -1242,15 +1234,15 @@ static int ray_set_rate(struct net_device *dev,return -EBUSY ;/* Check if rate is in range */ -if ((vwrq->value !=1000000 ) && (vwrq->value !=2000000 )) +if ((wrqu->bitrate.value !=1000000 ) && (wrqu->bitrate.value !=2000000 ))return -EINVAL ;/* Hack for 1.5 Mb/s instead of 2 Mb/s */ if ((local->fw_ver ==0x55 ) &&/* Please check */ - (vwrq->value ==2000000 )) + (wrqu->bitrate.value ==2000000 )) local->net_default_tx_rate =3 ;else - local->net_default_tx_rate = vwrq->value /500000 ; + local->net_default_tx_rate = wrqu->bitrate.value /500000 ;return 0 ; }
@@ -1259,17 +1251,16 @@ static int ray_set_rate(struct net_device *dev,/* * Wireless Handler : get Bit-Rate */ -static int ray_get_rate (struct net_device *dev, -struct iw_request_info *info, -struct iw_param *vwrq,char *extra) +static int ray_get_rate (struct net_device *dev,struct iw_request_info *info, +union iwreq_data *wrqu,char *extra) {ray_dev_t *local =netdev_priv (dev);if (local->net_default_tx_rate ==3 ) - vwrq->value =2000000 ;/* Hum... */ + wrqu->bitrate.value =2000000 ;/* Hum... */ else - vwrq->value = local->net_default_tx_rate *500000 ; - vwrq->fixed =0 ;/* We are in auto mode */ + wrqu->bitrate.value = local->net_default_tx_rate *500000 ; + wrqu->bitrate.fixed =0 ;/* We are in auto mode */ return 0 ; }
@@ -1278,19 +1269,18 @@ static int ray_get_rate(struct net_device *dev,/* * Wireless Handler : set RTS threshold */ -static int ray_set_rts (struct net_device *dev, -struct iw_request_info *info, -struct iw_param *vwrq,char *extra) +static int ray_set_rts (struct net_device *dev,struct iw_request_info *info, +union iwreq_data *wrqu,char *extra) {ray_dev_t *local =netdev_priv (dev); -int rthr = vwrq->value; +int rthr = wrqu->rts.value;/* Reject if card is already initialised */ if (local->card_status !=CARD_AWAITING_PARAM )return -EBUSY ;/* if(wrq->u.rts.fixed == 0) we should complain */ -if (vwrq->disabled) +if (wrqu->rts.disabled) rthr =32767 ;else {if ((rthr <0 ) || (rthr >2347 ))/* What's the max packet size ??? */
@@ -1306,16 +1296,15 @@ static int ray_set_rts(struct net_device *dev,/* * Wireless Handler : get RTS threshold */ -static int ray_get_rts (struct net_device *dev, -struct iw_request_info *info, -struct iw_param *vwrq,char *extra) +static int ray_get_rts (struct net_device *dev,struct iw_request_info *info, +union iwreq_data *wrqu,char *extra) {ray_dev_t *local =netdev_priv (dev); - vwrq->value = (local->sparm.b5.a_rts_threshold[0 ] <<8 ) + wrqu->rts.value = (local->sparm.b5.a_rts_threshold[0 ] <<8 ) + local->sparm.b5.a_rts_threshold[1 ]; - vwrq->disabled = (vwrq->value ==32767 ); - vwrq->fixed =1 ; + wrqu->rts.disabled = (wrqu->rts.value ==32767 ); + wrqu->rts.fixed =1 ;return 0 ; }
@@ -1324,19 +1313,18 @@ static int ray_get_rts(struct net_device *dev,/* * Wireless Handler : set Fragmentation threshold */ -static int ray_set_frag (struct net_device *dev, -struct iw_request_info *info, -struct iw_param *vwrq,char *extra) +static int ray_set_frag (struct net_device *dev,struct iw_request_info *info, +union iwreq_data *wrqu,char *extra) {ray_dev_t *local =netdev_priv (dev); -int fthr = vwrq->value; +int fthr = wrqu->frag.value;/* Reject if card is already initialised */ if (local->card_status !=CARD_AWAITING_PARAM )return -EBUSY ;/* if(wrq->u.frag.fixed == 0) should complain */ -if (vwrq->disabled) +if (wrqu->frag.disabled) fthr =32767 ;else {if ((fthr <256 ) || (fthr >2347 ))/* To check out ! */
@@ -1352,16 +1340,15 @@ static int ray_set_frag(struct net_device *dev,/* * Wireless Handler : get Fragmentation threshold */ -static int ray_get_frag (struct net_device *dev, -struct iw_request_info *info, -struct iw_param *vwrq,char *extra) +static int ray_get_frag (struct net_device *dev,struct iw_request_info *info, +union iwreq_data *wrqu,char *extra) {ray_dev_t *local =netdev_priv (dev); - vwrq->value = (local->sparm.b5.a_frag_threshold[0 ] <<8 ) + wrqu->frag.value = (local->sparm.b5.a_frag_threshold[0 ] <<8 ) + local->sparm.b5.a_frag_threshold[1 ]; - vwrq->disabled = (vwrq->value ==32767 ); - vwrq->fixed =1 ; + wrqu->frag.disabled = (wrqu->frag.value ==32767 ); + wrqu->frag.fixed =1 ;return 0 ; }
@@ -1370,8 +1357,8 @@ static int ray_get_frag(struct net_device *dev,/* * Wireless Handler : set Mode of Operation */ -static int ray_set_mode (struct net_device *dev, -struct iw_request_info *info,__u32 *uwrq,char *extra) +static int ray_set_mode (struct net_device *dev,struct iw_request_info *info, +union iwreq_data *wrqu,char *extra) {ray_dev_t *local =netdev_priv (dev);int err = -EINPROGRESS ;/* Call commit handler */
@@ -1381,7 +1368,7 @@ static int ray_set_mode(struct net_device *dev,if (local->card_status !=CARD_AWAITING_PARAM )return -EBUSY ; -switch (*uwrq) { +switch (wrqu->mode) {case IW_MODE_ADHOC : card_mode =0 ;/* Fall through */
@@ -1399,15 +1386,15 @@ static int ray_set_mode(struct net_device *dev,/* * Wireless Handler : get Mode of Operation */ -static int ray_get_mode (struct net_device *dev, -struct iw_request_info *info,__u32 *uwrq,char *extra) +static int ray_get_mode (struct net_device *dev,struct iw_request_info *info, +union iwreq_data *wrqu,char *extra) {ray_dev_t *local =netdev_priv (dev);if (local->sparm.b5.a_network_type) - *uwrq =IW_MODE_INFRA ; + wrqu->mode =IW_MODE_INFRA ;else - *uwrq =IW_MODE_ADHOC ; + wrqu->mode =IW_MODE_ADHOC ;return 0 ; }
@@ -1416,16 +1403,15 @@ static int ray_get_mode(struct net_device *dev,/* * Wireless Handler : get range info */ -static int ray_get_range (struct net_device *dev, -struct iw_request_info *info, -struct iw_point *dwrq,char *extra) +static int ray_get_range (struct net_device *dev,struct iw_request_info *info, +union iwreq_data *wrqu,char *extra) {struct iw_range *range = (struct iw_range *)extra; -memset ((char *)range,0 ,sizeof (struct iw_range )); +memset (range,0 ,sizeof (struct iw_range ));/* Set the length (very important for backward compatibility) */ - dwrq->length =sizeof (struct iw_range ); + wrqu->data.length =sizeof (struct iw_range );/* Set the Wireless Extension versions */ range->we_version_compiled =WIRELESS_EXT ;
@@ -1448,8 +1434,7 @@ static int ray_get_range(struct net_device *dev,/* * Wireless Private Handler : set framing mode */ -static int ray_set_framing (struct net_device *dev, -struct iw_request_info *info, +static int ray_set_framing (struct net_device *dev,struct iw_request_info *info,union iwreq_data *wrqu,char *extra) { translate = *(extra);/* Set framing mode */
@@ -1461,8 +1446,7 @@ static int ray_set_framing(struct net_device *dev,/* * Wireless Private Handler : get framing mode */ -static int ray_get_framing (struct net_device *dev, -struct iw_request_info *info, +static int ray_get_framing (struct net_device *dev,struct iw_request_info *info,union iwreq_data *wrqu,char *extra) { *(extra) = translate;
@@ -1474,8 +1458,7 @@ static int ray_get_framing(struct net_device *dev,/* * Wireless Private Handler : get country */ -static int ray_get_country (struct net_device *dev, -struct iw_request_info *info, +static int ray_get_country (struct net_device *dev,struct iw_request_info *info,union iwreq_data *wrqu,char *extra) { *(extra) = country;
@@ -1487,10 +1470,9 @@ static int ray_get_country(struct net_device *dev,/* * Commit handler : called after a bunch of SET operations */ -static int ray_commit (struct net_device *dev,struct iw_request_info *info,/* NULL */ -void *zwrq,/* NULL */ -char *extra) -{/* NULL */ +static int ray_commit (struct net_device *dev,struct iw_request_info *info, +union iwreq_data *wrqu,char *extra) +{return 0 ; }
@@ -1531,28 +1513,28 @@ static iw_stats *ray_get_wireless_stats(struct net_device *dev)*/ static const iw_handler ray_handler[] = { -IW_HANDLER (SIOCSIWCOMMIT , (iw_handler )ray_commit), -IW_HANDLER (SIOCGIWNAME , (iw_handler )ray_get_name), -IW_HANDLER (SIOCSIWFREQ , (iw_handler )ray_set_freq), -IW_HANDLER (SIOCGIWFREQ , (iw_handler )ray_get_freq), -IW_HANDLER (SIOCSIWMODE , (iw_handler )ray_set_mode), -IW_HANDLER (SIOCGIWMODE , (iw_handler )ray_get_mode), -IW_HANDLER (SIOCGIWRANGE , (iw_handler )ray_get_range), +IW_HANDLER (SIOCSIWCOMMIT , ray_commit), +IW_HANDLER (SIOCGIWNAME , ray_get_name), +IW_HANDLER (SIOCSIWFREQ , ray_set_freq), +IW_HANDLER (SIOCGIWFREQ , ray_get_freq), +IW_HANDLER (SIOCSIWMODE , ray_set_mode), +IW_HANDLER (SIOCGIWMODE , ray_get_mode), +IW_HANDLER (SIOCGIWRANGE , ray_get_range), #ifdef WIRELESS_SPYIW_HANDLER (SIOCSIWSPY , iw_handler_set_spy),IW_HANDLER (SIOCGIWSPY , iw_handler_get_spy),IW_HANDLER (SIOCSIWTHRSPY , iw_handler_set_thrspy),IW_HANDLER (SIOCGIWTHRSPY , iw_handler_get_thrspy), #endif /* WIRELESS_SPY */ -IW_HANDLER (SIOCGIWAP , (iw_handler )ray_get_wap), -IW_HANDLER (SIOCSIWESSID , (iw_handler )ray_set_essid), -IW_HANDLER (SIOCGIWESSID , (iw_handler )ray_get_essid), -IW_HANDLER (SIOCSIWRATE , (iw_handler )ray_set_rate), -IW_HANDLER (SIOCGIWRATE , (iw_handler )ray_get_rate), -IW_HANDLER (SIOCSIWRTS , (iw_handler )ray_set_rts), -IW_HANDLER (SIOCGIWRTS , (iw_handler )ray_get_rts), -IW_HANDLER (SIOCSIWFRAG , (iw_handler )ray_set_frag), -IW_HANDLER (SIOCGIWFRAG , (iw_handler )ray_get_frag), +IW_HANDLER (SIOCGIWAP , ray_get_wap), +IW_HANDLER (SIOCSIWESSID , ray_set_essid), +IW_HANDLER (SIOCGIWESSID , ray_get_essid), +IW_HANDLER (SIOCSIWRATE , ray_set_rate), +IW_HANDLER (SIOCGIWRATE , ray_get_rate), +IW_HANDLER (SIOCSIWRTS , ray_set_rts), +IW_HANDLER (SIOCGIWRTS , ray_get_rts), +IW_HANDLER (SIOCSIWFRAG , ray_set_frag), +IW_HANDLER (SIOCGIWFRAG , ray_get_frag), };#define SIOCSIPFRAMING SIOCIWFIRSTPRIV/* Set framing mode */
@@ -1560,9 +1542,9 @@ static const iw_handler ray_handler[] = {#define SIOCGIPCOUNTRY SIOCIWFIRSTPRIV + 3/* Get country code */ static const iw_handler ray_private_handler[] = { - [0 ] = (iw_handler ) ray_set_framing, - [1 ] = (iw_handler ) ray_get_framing, - [3 ] = (iw_handler ) ray_get_country, + [0 ] = ray_set_framing, + [1 ] = ray_get_framing, + [3 ] = ray_get_country, };static const struct iw_priv_args ray_private_args[] = {
Signature · 1 line
1.7.0.14.g7e948