xref: /linux/include/linux/wireless.h (revision 44f57d78)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * This file define a set of standard wireless extensions
4  *
5  * Version :	22	16.3.07
6  *
7  * Authors :	Jean Tourrilhes - HPL - <jt@hpl.hp.com>
8  * Copyright (c) 1997-2007 Jean Tourrilhes, All Rights Reserved.
9  */
10 #ifndef _LINUX_WIRELESS_H
11 #define _LINUX_WIRELESS_H
12 
13 #include <uapi/linux/wireless.h>
14 
15 #ifdef CONFIG_COMPAT
16 
17 #include <linux/compat.h>
18 
19 struct compat_iw_point {
20 	compat_caddr_t pointer;
21 	__u16 length;
22 	__u16 flags;
23 };
24 #endif
25 #ifdef CONFIG_COMPAT
26 struct __compat_iw_event {
27 	__u16		len;			/* Real length of this stuff */
28 	__u16		cmd;			/* Wireless IOCTL */
29 	compat_caddr_t	pointer;
30 };
31 #define IW_EV_COMPAT_LCP_LEN offsetof(struct __compat_iw_event, pointer)
32 #define IW_EV_COMPAT_POINT_OFF offsetof(struct compat_iw_point, length)
33 
34 /* Size of the various events for compat */
35 #define IW_EV_COMPAT_CHAR_LEN	(IW_EV_COMPAT_LCP_LEN + IFNAMSIZ)
36 #define IW_EV_COMPAT_UINT_LEN	(IW_EV_COMPAT_LCP_LEN + sizeof(__u32))
37 #define IW_EV_COMPAT_FREQ_LEN	(IW_EV_COMPAT_LCP_LEN + sizeof(struct iw_freq))
38 #define IW_EV_COMPAT_PARAM_LEN	(IW_EV_COMPAT_LCP_LEN + sizeof(struct iw_param))
39 #define IW_EV_COMPAT_ADDR_LEN	(IW_EV_COMPAT_LCP_LEN + sizeof(struct sockaddr))
40 #define IW_EV_COMPAT_QUAL_LEN	(IW_EV_COMPAT_LCP_LEN + sizeof(struct iw_quality))
41 #define IW_EV_COMPAT_POINT_LEN	\
42 	(IW_EV_COMPAT_LCP_LEN + sizeof(struct compat_iw_point) - \
43 	 IW_EV_COMPAT_POINT_OFF)
44 #endif
45 #endif	/* _LINUX_WIRELESS_H */
46