xref: /openbmc/linux/include/net/wext.h (revision 552c69b36ebd966186573b9c7a286b390935cce1)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
2295f4a1fSJohannes Berg #ifndef __NET_WEXT_H
3295f4a1fSJohannes Berg #define __NET_WEXT_H
4295f4a1fSJohannes Berg 
53d23e349SJohannes Berg #include <net/iw_handler.h>
6295f4a1fSJohannes Berg 
7881d966bSEric W. Biederman struct net;
8881d966bSEric W. Biederman 
93d23e349SJohannes Berg #ifdef CONFIG_WEXT_CORE
10*b1b0c245SAl Viro int wext_handle_ioctl(struct net *net, unsigned int cmd,
11295f4a1fSJohannes Berg 		      void __user *arg);
129e4638cdSJoe Perches int compat_wext_handle_ioctl(struct net *net, unsigned int cmd,
1387de87d5SDavid S. Miller 			     unsigned long arg);
143d23e349SJohannes Berg 
159e4638cdSJoe Perches struct iw_statistics *get_wireless_stats(struct net_device *dev);
169e4638cdSJoe Perches int call_commit_handler(struct net_device *dev);
17295f4a1fSJohannes Berg #else
wext_handle_ioctl(struct net * net,unsigned int cmd,void __user * arg)18*b1b0c245SAl Viro static inline int wext_handle_ioctl(struct net *net, unsigned int cmd,
19295f4a1fSJohannes Berg 				    void __user *arg)
20295f4a1fSJohannes Berg {
21295f4a1fSJohannes Berg 	return -EINVAL;
22295f4a1fSJohannes Berg }
compat_wext_handle_ioctl(struct net * net,unsigned int cmd,unsigned long arg)2387de87d5SDavid S. Miller static inline int compat_wext_handle_ioctl(struct net *net, unsigned int cmd,
2487de87d5SDavid S. Miller 					   unsigned long arg)
2587de87d5SDavid S. Miller {
2687de87d5SDavid S. Miller 	return -EINVAL;
2787de87d5SDavid S. Miller }
28295f4a1fSJohannes Berg #endif
29295f4a1fSJohannes Berg 
303d23e349SJohannes Berg #ifdef CONFIG_WEXT_PROC
319e4638cdSJoe Perches int wext_proc_init(struct net *net);
329e4638cdSJoe Perches void wext_proc_exit(struct net *net);
333d23e349SJohannes Berg #else
wext_proc_init(struct net * net)343d23e349SJohannes Berg static inline int wext_proc_init(struct net *net)
353d23e349SJohannes Berg {
363d23e349SJohannes Berg 	return 0;
373d23e349SJohannes Berg }
wext_proc_exit(struct net * net)383d23e349SJohannes Berg static inline void wext_proc_exit(struct net *net)
393d23e349SJohannes Berg {
403d23e349SJohannes Berg 	return;
413d23e349SJohannes Berg }
423d23e349SJohannes Berg #endif
433d23e349SJohannes Berg 
443d23e349SJohannes Berg #ifdef CONFIG_WEXT_PRIV
453d23e349SJohannes Berg int ioctl_private_call(struct net_device *dev, struct iwreq *iwr,
463d23e349SJohannes Berg 		       unsigned int cmd, struct iw_request_info *info,
473d23e349SJohannes Berg 		       iw_handler handler);
483d23e349SJohannes Berg int compat_private_call(struct net_device *dev, struct iwreq *iwr,
493d23e349SJohannes Berg 			unsigned int cmd, struct iw_request_info *info,
503d23e349SJohannes Berg 			iw_handler handler);
513d23e349SJohannes Berg int iw_handler_get_private(struct net_device *		dev,
523d23e349SJohannes Berg 			   struct iw_request_info *	info,
533d23e349SJohannes Berg 			   union iwreq_data *		wrqu,
543d23e349SJohannes Berg 			   char *			extra);
553d23e349SJohannes Berg #else
563d23e349SJohannes Berg #define ioctl_private_call NULL
573d23e349SJohannes Berg #define compat_private_call NULL
583d23e349SJohannes Berg #endif
593d23e349SJohannes Berg 
603d23e349SJohannes Berg 
61295f4a1fSJohannes Berg #endif /* __NET_WEXT_H */
62