1 /* SPDX-License-Identifier: GPL-2.0 */
3 * This file define a set of standard wireless extensions
7 * Authors : Jean Tourrilhes - HPL - <jt@hpl.hp.com>
8 * Copyright (c) 1997-2007 Jean Tourrilhes, All Rights Reserved.
10 #ifndef _LINUX_WIRELESS_H
11 #define _LINUX_WIRELESS_H
13 #include <uapi/linux/wireless.h>
17 #include <linux/compat.h>
19 struct compat_iw_point
{
20 compat_caddr_t pointer
;
25 struct __compat_iw_event
{
26 __u16 len
; /* Real length of this stuff */
27 __u16 cmd
; /* Wireless IOCTL */
30 compat_caddr_t pointer
;
32 /* we need ptr_bytes to make memcpy() run-time destination
33 * buffer bounds checking happy, nothing special
35 DECLARE_FLEX_ARRAY(__u8
, ptr_bytes
);
38 #define IW_EV_COMPAT_LCP_LEN offsetof(struct __compat_iw_event, pointer)
39 #define IW_EV_COMPAT_POINT_OFF offsetof(struct compat_iw_point, length)
41 /* Size of the various events for compat */
42 #define IW_EV_COMPAT_CHAR_LEN (IW_EV_COMPAT_LCP_LEN + IFNAMSIZ)
43 #define IW_EV_COMPAT_UINT_LEN (IW_EV_COMPAT_LCP_LEN + sizeof(__u32))
44 #define IW_EV_COMPAT_FREQ_LEN (IW_EV_COMPAT_LCP_LEN + sizeof(struct iw_freq))
45 #define IW_EV_COMPAT_PARAM_LEN (IW_EV_COMPAT_LCP_LEN + sizeof(struct iw_param))
46 #define IW_EV_COMPAT_ADDR_LEN (IW_EV_COMPAT_LCP_LEN + sizeof(struct sockaddr))
47 #define IW_EV_COMPAT_QUAL_LEN (IW_EV_COMPAT_LCP_LEN + sizeof(struct iw_quality))
48 #define IW_EV_COMPAT_POINT_LEN \
49 (IW_EV_COMPAT_LCP_LEN + sizeof(struct compat_iw_point) - \
50 IW_EV_COMPAT_POINT_OFF)
51 #endif /* CONFIG_COMPAT */
52 #endif /* _LINUX_WIRELESS_H */