xref: /openbmc/linux/include/net/wext.h (revision 3d23e349d807177eaf519d444677cee86b1a04cf)
1295f4a1fSJohannes Berg #ifndef __NET_WEXT_H
2295f4a1fSJohannes Berg #define __NET_WEXT_H
3295f4a1fSJohannes Berg 
4*3d23e349SJohannes Berg #include <net/iw_handler.h>
5295f4a1fSJohannes Berg 
6881d966bSEric W. Biederman struct net;
7881d966bSEric W. Biederman 
8*3d23e349SJohannes Berg #ifdef CONFIG_WEXT_CORE
9881d966bSEric W. Biederman extern int wext_handle_ioctl(struct net *net, struct ifreq *ifr, unsigned int cmd,
10295f4a1fSJohannes Berg 			     void __user *arg);
1187de87d5SDavid S. Miller extern int compat_wext_handle_ioctl(struct net *net, unsigned int cmd,
1287de87d5SDavid S. Miller 				    unsigned long arg);
13*3d23e349SJohannes Berg 
148f1546caSJohannes Berg extern struct iw_statistics *get_wireless_stats(struct net_device *dev);
15*3d23e349SJohannes Berg extern int call_commit_handler(struct net_device *dev);
16295f4a1fSJohannes Berg #else
17881d966bSEric W. Biederman static inline int wext_handle_ioctl(struct net *net, struct ifreq *ifr, unsigned int cmd,
18295f4a1fSJohannes Berg 				    void __user *arg)
19295f4a1fSJohannes Berg {
20295f4a1fSJohannes Berg 	return -EINVAL;
21295f4a1fSJohannes Berg }
2287de87d5SDavid S. Miller static inline int compat_wext_handle_ioctl(struct net *net, unsigned int cmd,
2387de87d5SDavid S. Miller 					   unsigned long arg)
2487de87d5SDavid S. Miller {
2587de87d5SDavid S. Miller 	return -EINVAL;
2687de87d5SDavid S. Miller }
27295f4a1fSJohannes Berg #endif
28295f4a1fSJohannes Berg 
29*3d23e349SJohannes Berg #ifdef CONFIG_WEXT_PROC
30*3d23e349SJohannes Berg extern int wext_proc_init(struct net *net);
31*3d23e349SJohannes Berg extern void wext_proc_exit(struct net *net);
32*3d23e349SJohannes Berg #else
33*3d23e349SJohannes Berg static inline int wext_proc_init(struct net *net)
34*3d23e349SJohannes Berg {
35*3d23e349SJohannes Berg 	return 0;
36*3d23e349SJohannes Berg }
37*3d23e349SJohannes Berg static inline void wext_proc_exit(struct net *net)
38*3d23e349SJohannes Berg {
39*3d23e349SJohannes Berg 	return;
40*3d23e349SJohannes Berg }
41*3d23e349SJohannes Berg #endif
42*3d23e349SJohannes Berg 
43*3d23e349SJohannes Berg #ifdef CONFIG_WEXT_PRIV
44*3d23e349SJohannes Berg int ioctl_private_call(struct net_device *dev, struct iwreq *iwr,
45*3d23e349SJohannes Berg 		       unsigned int cmd, struct iw_request_info *info,
46*3d23e349SJohannes Berg 		       iw_handler handler);
47*3d23e349SJohannes Berg int compat_private_call(struct net_device *dev, struct iwreq *iwr,
48*3d23e349SJohannes Berg 			unsigned int cmd, struct iw_request_info *info,
49*3d23e349SJohannes Berg 			iw_handler handler);
50*3d23e349SJohannes Berg int iw_handler_get_private(struct net_device *		dev,
51*3d23e349SJohannes Berg 			   struct iw_request_info *	info,
52*3d23e349SJohannes Berg 			   union iwreq_data *		wrqu,
53*3d23e349SJohannes Berg 			   char *			extra);
54*3d23e349SJohannes Berg #else
55*3d23e349SJohannes Berg #define ioctl_private_call NULL
56*3d23e349SJohannes Berg #define compat_private_call NULL
57*3d23e349SJohannes Berg #endif
58*3d23e349SJohannes Berg 
59*3d23e349SJohannes Berg 
60295f4a1fSJohannes Berg #endif /* __NET_WEXT_H */
61