 3d23e349d8
			
		
	
	
	3d23e349d8
	
	
	
		
			
			Refactor wext to * split out iwpriv handling * split out iwspy handling * split out procfs support * allow cfg80211 to have wireless extensions compat code w/o CONFIG_WIRELESS_EXT After this, drivers need to - select WIRELESS_EXT - for wext support - select WEXT_PRIV - for iwpriv support - select WEXT_SPY - for iwspy support except cfg80211 -- which gets new hooks in wext-core.c and can then get wext handlers without CONFIG_WIRELESS_EXT. Wireless extensions procfs support is auto-selected based on PROC_FS and anything that requires the wext core (i.e. WIRELESS_EXT or CFG80211_WEXT). Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
		
			
				
	
	
		
			60 lines
		
	
	
	
		
			1.5 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
	
		
			1.5 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
| #ifndef __NET_WEXT_H
 | |
| #define __NET_WEXT_H
 | |
| 
 | |
| #include <net/iw_handler.h>
 | |
| 
 | |
| struct net;
 | |
| 
 | |
| #ifdef CONFIG_WEXT_CORE
 | |
| extern int wext_handle_ioctl(struct net *net, struct ifreq *ifr, unsigned int cmd,
 | |
| 			     void __user *arg);
 | |
| extern int compat_wext_handle_ioctl(struct net *net, unsigned int cmd,
 | |
| 				    unsigned long arg);
 | |
| 
 | |
| extern struct iw_statistics *get_wireless_stats(struct net_device *dev);
 | |
| extern int call_commit_handler(struct net_device *dev);
 | |
| #else
 | |
| static inline int wext_handle_ioctl(struct net *net, struct ifreq *ifr, unsigned int cmd,
 | |
| 				    void __user *arg)
 | |
| {
 | |
| 	return -EINVAL;
 | |
| }
 | |
| static inline int compat_wext_handle_ioctl(struct net *net, unsigned int cmd,
 | |
| 					   unsigned long arg)
 | |
| {
 | |
| 	return -EINVAL;
 | |
| }
 | |
| #endif
 | |
| 
 | |
| #ifdef CONFIG_WEXT_PROC
 | |
| extern int wext_proc_init(struct net *net);
 | |
| extern void wext_proc_exit(struct net *net);
 | |
| #else
 | |
| static inline int wext_proc_init(struct net *net)
 | |
| {
 | |
| 	return 0;
 | |
| }
 | |
| static inline void wext_proc_exit(struct net *net)
 | |
| {
 | |
| 	return;
 | |
| }
 | |
| #endif
 | |
| 
 | |
| #ifdef CONFIG_WEXT_PRIV
 | |
| int ioctl_private_call(struct net_device *dev, struct iwreq *iwr,
 | |
| 		       unsigned int cmd, struct iw_request_info *info,
 | |
| 		       iw_handler handler);
 | |
| int compat_private_call(struct net_device *dev, struct iwreq *iwr,
 | |
| 			unsigned int cmd, struct iw_request_info *info,
 | |
| 			iw_handler handler);
 | |
| int iw_handler_get_private(struct net_device *		dev,
 | |
| 			   struct iw_request_info *	info,
 | |
| 			   union iwreq_data *		wrqu,
 | |
| 			   char *			extra);
 | |
| #else
 | |
| #define ioctl_private_call NULL
 | |
| #define compat_private_call NULL
 | |
| #endif
 | |
| 
 | |
| 
 | |
| #endif /* __NET_WEXT_H */
 |