[Prism54-devel] Re: iwspy - latest CVS
Margit Schubert-While
margitsw@t-online.de
Fri, 19 Mar 2004 09:09:55 +0100
Aurelien scribe :
>> version pre27 seems to support at least 512.
You sure ?; Here's a snip from wireless.h (same in kernel and
wireless tools) :
----------------- snip --------------------
/* -------------------- DEV PRIVATE IOCTL LIST -------------------- */
/* These 16 ioctl are wireless device private.
* Each driver is free to use them for whatever purpose it chooses,
* however the driver *must* export the description of those ioctls
* with SIOCGIWPRIV and *must* use arguments as defined below.
* If you don't follow those rules, DaveM is going to hate you (reason :
* it make mixed 32/64bit operation impossible).
*/
#define SIOCIWFIRSTPRIV 0x8BE0
#define SIOCIWLASTPRIV 0x8BFF
/* Previously, we were using SIOCDEVPRIVATE, but we now have our
* separate range because of collisions with other tools such as
* 'mii-tool'.
* We now have 32 commands, so a bit more space ;-).
* Also, all 'odd' commands are only usable by root and don't return the
* content of ifr/iwr to user (but you are not obliged to use the set/get
* convention, just use every other two command).
* And I repeat : you are not obliged to use them with iwspy, but you
* must be compliant with it.
*/
------------------ end snip ----------------------------------
Aurelien also scribeth :
> are probably debugging stuff. The iwpriv system should work.
Err, No, here's the code in net/core/wireless.c
/* Check if there is enough buffer up there */
if(iwr->u.data.length < dev->wireless_handlers->num_private_args) {
printk(KERN_ERR "%s (WE) : Buffer for request SIOCGIWPRIV too small
(%d<%d)\n",
dev->name, iwr->u.data.length, dev->wireless_handlers->num_private_args);
return -E2BIG;
}
Margit