blob: 4f6e7423174cd55890d7845326c8352f66146f04 [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
Eric W. Biederman881d9662007-09-17 11:56:21 -07009extern int wext_handle_ioctl(struct net *net, struct ifreq *ifr, unsigned int cmd,
Johannes Berg295f4a12007-04-26 20:43:56 -070010 void __user *arg);
David S. Miller87de87d2008-06-03 09:14:03 -070011extern int compat_wext_handle_ioctl(struct net *net, unsigned int cmd,
12 unsigned long arg);
Johannes Berg3d23e342009-09-29 23:27:28 +020013
Johannes Berg8f1546c2009-09-28 15:26:43 +020014extern struct iw_statistics *get_wireless_stats(struct net_device *dev);
Johannes Berg3d23e342009-09-29 23:27:28 +020015extern int 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
30extern int wext_proc_init(struct net *net);
31extern void wext_proc_exit(struct net *net);
32#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 */