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
19struct compat_iw_point {
20 compat_caddr_t pointer;
21 __u16 length;
22 __u16 flags;
23};
24#endif
25#ifdef CONFIG_COMPAT
26struct __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