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