Jean Tourrilhes wrote:
+static inline int rtnetlink_standard_call(struct net_device * dev,
+ struct iw_event * request,
+ int request_len,
+ iw_handler handler)
+ const struct iw_ioctl_description * descr = NULL;
+ unsigned int cmd;
+ union iwreq_data * wrqu;
+ int hdr_len;
+ struct iw_request_info info;
+ int ret = -EINVAL;
+ /* Get the description of the IOCTL */
+ cmd = request->cmd;
+ if((cmd - SIOCIWFIRST) >= standard_ioctl_num)
+ return -EOPNOTSUPP;
+ descr = &(standard_ioctl[cmd - SIOCIWFIRST]);
OK, this patch looks good to me.
There is one piece we need to change though, that will cause the size of
this patch to increase a bit.
Look at ethtool_ops, and net/core/ethtool.c, in the current upstream 2.4
and 2.6 trees.
A key goal of mine is to completely eliminate the union and the
iw_handler type. To increase type-safety, and to decrease the pain of
going through 32<->64-bit translation layers, each wireless hook needs
to have a specific (not generic) interface (a la ethtool_ops).