X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Fnet%2Fiw_handler.h;h=5e70aed613d53239d990320b48759c371f360cfb;hb=9e1bf581d67d87a1d7fc0ea500729e3a03643a26;hp=ac5acfc87658c39c16af185a6f9593a7bf2ab60f;hpb=8d40237c730b8be87c1b80a5d96b9c603fefa829;p=linux-2.6.git diff --git a/include/net/iw_handler.h b/include/net/iw_handler.h index ac5acfc87..5e70aed61 100644 --- a/include/net/iw_handler.h +++ b/include/net/iw_handler.h @@ -1,10 +1,10 @@ /* * This file define the new driver API for Wireless Extensions * - * Version : 6 21.6.04 + * Version : 5 4.12.02 * * Authors : Jean Tourrilhes - HPL - - * Copyright (c) 2001-2004 Jean Tourrilhes, All Rights Reserved. + * Copyright (c) 2001-2002 Jean Tourrilhes, All Rights Reserved. */ #ifndef _IW_HANDLER_H @@ -198,7 +198,6 @@ /***************************** INCLUDES *****************************/ #include /* IOCTL user space API */ -#include /***************************** VERSION *****************************/ /* @@ -207,7 +206,7 @@ * will be needed... * I just plan to increment with each new version. */ -#define IW_HANDLER_VERSION 6 +#define IW_HANDLER_VERSION 5 /* * Changes : @@ -225,18 +224,11 @@ * V4 to V5 * -------- * - Add new spy support : struct iw_spy_data & prototypes - * - * V5 to V6 - * -------- - * - Change the way we get to spy_data method for added safety - * - Remove spy #ifdef, they are always on -> cleaner code - * - Add IW_DESCR_FLAG_NOMAX flag for very large requests - * - Start migrating get_wireless_stats to struct iw_handler_def */ /**************************** CONSTANTS ****************************/ -/* Enhanced spy support available */ +/* Enable enhanced spy support. Disable to reduce footprint */ #define IW_WIRELESS_SPY #define IW_WIRELESS_THRSPY @@ -266,7 +258,6 @@ #define IW_DESCR_FLAG_EVENT 0x0002 /* Generate an event on SET */ #define IW_DESCR_FLAG_RESTRICT 0x0004 /* GET : request is ROOT only */ /* SET : Omit payload from generated iwevent */ -#define IW_DESCR_FLAG_NOMAX 0x0008 /* GET : no limit on request size */ /* Driver level flags */ #define IW_DESCR_FLAG_WAIT 0x0100 /* Wait for driver event */ @@ -295,8 +286,6 @@ struct iw_request_info __u16 flags; /* More to come ;-) */ }; -struct net_device; - /* * This is how a function handling a Wireless Extension should look * like (both get and set, standard and private). @@ -322,25 +311,23 @@ struct iw_handler_def /* Array of handlers for standard ioctls * We will call dev->wireless_handlers->standard[ioctl - SIOCSIWNAME] */ - const iw_handler * standard; + iw_handler * standard; /* Array of handlers for private ioctls * Will call dev->wireless_handlers->private[ioctl - SIOCIWFIRSTPRIV] */ - const iw_handler * private; + iw_handler * private; /* Arguments of private handler. This one is just a list, so you * can put it in any order you want and should not leave holes... * We will automatically export that to user space... */ - const struct iw_priv_args * private_args; + struct iw_priv_args * private_args; - /* This field will be *removed* in the next version of WE */ - long spy_offset; /* DO NOT USE */ + /* Driver enhanced spy support */ + long spy_offset; /* Spy data offset */ - /* New location of get_wireless_stats, to de-bloat struct net_device. - * The old pointer in struct net_device will be gradually phased - * out, and drivers are encouraged to use this one... */ - struct iw_statistics* (*get_wireless_stats)(struct net_device *dev); + /* In the long term, get_wireless_stats will move from + * 'struct net_device' to here, to minimise bloat. */ }; /* ---------------------- IOCTL DESCRIPTION ---------------------- */ @@ -387,29 +374,18 @@ struct iw_ioctl_description */ struct iw_spy_data { +#ifdef IW_WIRELESS_SPY /* --- Standard spy support --- */ int spy_number; u_char spy_address[IW_MAX_SPY][ETH_ALEN]; struct iw_quality spy_stat[IW_MAX_SPY]; +#ifdef IW_WIRELESS_THRSPY /* --- Enhanced spy support (event) */ struct iw_quality spy_thr_low; /* Low threshold */ struct iw_quality spy_thr_high; /* High threshold */ u_char spy_thr_under[IW_MAX_SPY]; -}; - -/* --------------------- DEVICE WIRELESS DATA --------------------- */ -/* - * This is all the wireless data specific to a device instance that - * is managed by the core of Wireless Extensions. - * We only keep pointer to those structures, so that a driver is free - * to share them between instances. - * This structure should be initialised before registering the device. - * Access to this data follow the same rules as any other struct net_device - * data (i.e. valid as long as struct net_device exist, same locking rules). - */ -struct iw_public_data { - /* Driver enhanced spy support */ - struct iw_spy_data * spy_data; +#endif /* IW_WIRELESS_THRSPY */ +#endif /* IW_WIRELESS_SPY */ }; /**************************** PROTOTYPES ****************************/ @@ -418,9 +394,6 @@ struct iw_public_data { * Those may be called only within the kernel. */ -/* Data needed by fs/compat_ioctl.c for 32->64 bit conversion */ -extern const char iw_priv_type_size[]; - /* First : function strictly used inside the kernel */ /* Handle /proc/net/wireless, called in net/code/dev.c */