blob: 345911965dbb8f53289d63535828969454ae3333 [file] [log] [blame]
Johannes Berg295f4a12007-04-26 20:43:56 -07001#ifndef __NET_WEXT_H
2#define __NET_WEXT_H
3
Johannes Berg3d23e342009-09-29 23:27:28 +02004#include <net/iw_handler.h>
Johannes Berg295f4a12007-04-26 20:43:56 -07005
Eric W. Biederman881d9662007-09-17 11:56:21 -07006struct net;
7
Johannes Berg3d23e342009-09-29 23:27:28 +02008#ifdef CONFIG_WEXT_CORE
Joe Perches9e4638c2013-09-23 11:33:42 -07009int wext_handle_ioctl(struct net *net, struct ifreq *ifr, unsigned int cmd,
10 void __user *arg);
11int compat_wext_handle_ioctl(struct net *net, unsigned int cmd,
12 unsigned long arg);
Johannes Berg3d23e342009-09-29 23:27:28 +020013
Joe Perches9e4638c2013-09-23 11:33:42 -070014struct iw_statistics *get_wireless_stats(struct net_device *dev);
15int call_commit_handler(struct net_device *dev);
Johannes Berg295f4a12007-04-26 20:43:56 -070016#else
Eric W. Biederman881d9662007-09-17 11:56:21 -070017static inline int wext_handle_ioctl(struct net *net, struct ifreq *ifr, unsigned int cmd,
Johannes Berg295f4a12007-04-26 20:43:56 -070018 void __user *arg)
19{
20 return -EINVAL;
21}
David S. Miller87de87d2008-06-03 09:14:03 -070022static inline int compat_wext_handle_ioctl(struct net *net, unsigned int cmd,
23 unsigned long arg)
24{
25 return -EINVAL;
26}
Johannes Berg295f4a12007-04-26 20:43:56 -070027#endif
28
Johannes Berg3d23e342009-09-29 23:27:28 +020029#ifdef CONFIG_WEXT_PROC
Joe Perches9e4638c2013-09-23 11:33:42 -070030int wext_proc_init(struct net *net);
31void wext_proc_exit(struct net *net);
Johannes Berg3d23e342009-09-29 23:27:28 +020032#else
33static inline int wext_proc_init(struct net *net)
34{
35 return 0;
36}
37static inline void wext_proc_exit(struct net *net)
38{
39 return;
40}
41#endif
42
43#ifdef CONFIG_WEXT_PRIV
44int ioctl_private_call(struct net_device *dev, struct iwreq *iwr,
45 unsigned int cmd, struct iw_request_info *info,
46 iw_handler handler);
47int compat_private_call(struct net_device *dev, struct iwreq *iwr,
48 unsigned int cmd, struct iw_request_info *info,
49 iw_handler handler);
50int iw_handler_get_private(struct net_device * dev,
51 struct iw_request_info * info,
52 union iwreq_data * wrqu,
53 char * extra);
54#else
55#define ioctl_private_call NULL
56#define compat_private_call NULL
57#endif
58
59
Johannes Berg295f4a12007-04-26 20:43:56 -070060#endif /* __NET_WEXT_H */