Jeff,
I think I get the gist of it. I'll start working on this and produce some
results in a few days.
We can then review the results start discussing further
directions/modifications.
I'll leave netlink out of it right now (see the problems Jean had earlier), but
I think that the
basic approach (wireless_ops, etc.) can be reused within a netlink
implementation anyway.
--- Gertjan.
Jeff Garzik wrote:
Jeff Garzik wrote:
struct wireless_ops {
int (*get_name) (struct net_device *dev, struct iw_request_info
*info,
union iwreq_data *wrqu, char *extra);
int (*get_freq) (struct net_device *dev, struct iw_request_info
*info,
union iwreq_data *wrqu, char *extra);
int (*set_freq) (struct net_device *dev, struct iw_request_info
*info,
union iwreq_data *wrqu, char *extra);
int (*get_mode) (struct net_device *dev, struct iw_request_info
*info,
union iwreq_data *wrqu, char *extra);
int (*set_mode) (struct net_device *dev, struct iw_request_info
*info,
union iwreq_data *wrqu, char *extra);
Note that the above is only a first step. Through the standard Linux
development process -- evolution -- each hook can be pared down to
precisely what each call needs. The above allows for a quick transition
of drivers, while keeping them working.
Jeff
|