^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) #ifndef __NET_WEXT_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) #define __NET_WEXT_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) #include <net/iw_handler.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) struct net;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) #ifdef CONFIG_WEXT_CORE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) int wext_handle_ioctl(struct net *net, unsigned int cmd,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) void __user *arg);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) int compat_wext_handle_ioctl(struct net *net, unsigned int cmd,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) unsigned long arg);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) struct iw_statistics *get_wireless_stats(struct net_device *dev);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) int call_commit_handler(struct net_device *dev);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) #else
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) static inline int wext_handle_ioctl(struct net *net, unsigned int cmd,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) void __user *arg)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) return -EINVAL;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) static inline int compat_wext_handle_ioctl(struct net *net, unsigned int cmd,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) unsigned long arg)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) return -EINVAL;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) #ifdef CONFIG_WEXT_PROC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) int wext_proc_init(struct net *net);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) void wext_proc_exit(struct net *net);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) #else
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) static inline int wext_proc_init(struct net *net)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) return 0;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) static inline void wext_proc_exit(struct net *net)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) return;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) #ifdef CONFIG_WEXT_PRIV
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) int ioctl_private_call(struct net_device *dev, struct iwreq *iwr,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) unsigned int cmd, struct iw_request_info *info,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) iw_handler handler);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) int compat_private_call(struct net_device *dev, struct iwreq *iwr,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) unsigned int cmd, struct iw_request_info *info,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) iw_handler handler);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) int iw_handler_get_private(struct net_device * dev,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) struct iw_request_info * info,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) union iwreq_data * wrqu,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) char * extra);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) #else
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) #define ioctl_private_call NULL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) #define compat_private_call NULL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) #endif /* __NET_WEXT_H */