1b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare/****************************************************************************
2b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare ****************************************************************************
3b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare ***
4b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare ***   This header was automatically generated from a Linux kernel header
5b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare ***   of the same name, to make information necessary for userspace to
6b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare ***   call into the kernel available to libc.  It contains only constants,
7b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare ***   structures, and macros generated from the original header, and thus,
8b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare ***   contains no copyrightable information.
9b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare ***
10b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare ****************************************************************************
11b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare ****************************************************************************/
12b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#ifndef _LINUX_WIRELESS_H
13b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define _LINUX_WIRELESS_H
14b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
15b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#include <linux/types.h>
16b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#include <linux/socket.h>
17b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#include <linux/if.h>
18b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
19b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define WIRELESS_EXT 20
20b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
21b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCSIWCOMMIT 0x8B00
22b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCGIWNAME 0x8B01
23b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
24b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCSIWNWID 0x8B02
25b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCGIWNWID 0x8B03
26b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCSIWFREQ 0x8B04
27b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCGIWFREQ 0x8B05
28b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCSIWMODE 0x8B06
29b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCGIWMODE 0x8B07
30b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCSIWSENS 0x8B08
31b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCGIWSENS 0x8B09
32b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
33b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCSIWRANGE 0x8B0A
34b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCGIWRANGE 0x8B0B
35b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCSIWPRIV 0x8B0C
36b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCGIWPRIV 0x8B0D
37b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCSIWSTATS 0x8B0E
38b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCGIWSTATS 0x8B0F
39b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
40b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCSIWSPY 0x8B10
41b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCGIWSPY 0x8B11
42b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCSIWTHRSPY 0x8B12
43b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCGIWTHRSPY 0x8B13
44b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
45b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCSIWAP 0x8B14
46b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCGIWAP 0x8B15
47b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCGIWAPLIST 0x8B17
48b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCSIWSCAN 0x8B18
49b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCGIWSCAN 0x8B19
50b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
51b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCSIWESSID 0x8B1A
52b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCGIWESSID 0x8B1B
53b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCSIWNICKN 0x8B1C
54b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCGIWNICKN 0x8B1D
55b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
56b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCSIWRATE 0x8B20
57b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCGIWRATE 0x8B21
58b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCSIWRTS 0x8B22
59b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCGIWRTS 0x8B23
60b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCSIWFRAG 0x8B24
61b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCGIWFRAG 0x8B25
62b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCSIWTXPOW 0x8B26
63b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCGIWTXPOW 0x8B27
64b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCSIWRETRY 0x8B28
65b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCGIWRETRY 0x8B29
66b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
67b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCSIWENCODE 0x8B2A
68b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCGIWENCODE 0x8B2B
69b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
70b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCSIWPOWER 0x8B2C
71b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCGIWPOWER 0x8B2D
72b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
73b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCSIWGENIE 0x8B30
74b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCGIWGENIE 0x8B31
75b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
76b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCSIWMLME 0x8B16
77b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
78b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCSIWAUTH 0x8B32
79b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCGIWAUTH 0x8B33
80b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
81b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCSIWENCODEEXT 0x8B34
82b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCGIWENCODEEXT 0x8B35
83b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
84b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCSIWPMKSA 0x8B36
85b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
86b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCIWFIRSTPRIV 0x8BE0
87b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCIWLASTPRIV 0x8BFF
88b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
89b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCIWFIRST 0x8B00
90b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define SIOCIWLAST SIOCIWLASTPRIV
91b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_IOCTL_IDX(cmd) ((cmd) - SIOCIWFIRST)
92b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
93b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_IS_SET(cmd) (!((cmd) & 0x1))
94b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_IS_GET(cmd) ((cmd) & 0x1)
95b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
96b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IWEVTXDROP 0x8C00
97b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IWEVQUAL 0x8C01
98b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IWEVCUSTOM 0x8C02
99b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IWEVREGISTERED 0x8C03
100b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IWEVEXPIRED 0x8C04
101b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IWEVGENIE 0x8C05
102b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IWEVMICHAELMICFAILURE 0x8C06
103b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IWEVASSOCREQIE 0x8C07
104b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IWEVASSOCRESPIE 0x8C08
105b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IWEVPMKIDCAND 0x8C09
106b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
107b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IWEVFIRST 0x8C00
108b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_EVENT_IDX(cmd) ((cmd) - IWEVFIRST)
109b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
110b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_PRIV_TYPE_MASK 0x7000
111b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_PRIV_TYPE_NONE 0x0000
112b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_PRIV_TYPE_BYTE 0x1000
113b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_PRIV_TYPE_CHAR 0x2000
114b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_PRIV_TYPE_INT 0x4000
115b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_PRIV_TYPE_FLOAT 0x5000
116b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_PRIV_TYPE_ADDR 0x6000
117b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
118b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_PRIV_SIZE_FIXED 0x0800
119b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
120b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_PRIV_SIZE_MASK 0x07FF
121b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
122b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_MAX_FREQUENCIES 32
123b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
124b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_MAX_BITRATES 32
125b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
126b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_MAX_TXPOWER 8
127b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
128b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_MAX_SPY 8
129b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
130b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_MAX_AP 64
131b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
132b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_ESSID_MAX_SIZE 32
133b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
134b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_MODE_AUTO 0
135b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_MODE_ADHOC 1
136b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_MODE_INFRA 2
137b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_MODE_MASTER 3
138b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_MODE_REPEAT 4
139b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_MODE_SECOND 5
140b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_MODE_MONITOR 6
141b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
142b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_QUAL_QUAL_UPDATED 0x01
143b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_QUAL_LEVEL_UPDATED 0x02
144b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_QUAL_NOISE_UPDATED 0x04
145b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_QUAL_ALL_UPDATED 0x07
146b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_QUAL_DBM 0x08
147b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_QUAL_QUAL_INVALID 0x10
148b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_QUAL_LEVEL_INVALID 0x20
149b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_QUAL_NOISE_INVALID 0x40
150b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_QUAL_ALL_INVALID 0x70
151b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
152b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_FREQ_AUTO 0x00
153b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_FREQ_FIXED 0x01
154b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
155b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_MAX_ENCODING_SIZES 8
156b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
157b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_ENCODING_TOKEN_MAX 64
158b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
159b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_ENCODE_INDEX 0x00FF
160b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_ENCODE_FLAGS 0xFF00
161b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_ENCODE_MODE 0xF000
162b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_ENCODE_DISABLED 0x8000
163b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_ENCODE_ENABLED 0x0000
164b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_ENCODE_RESTRICTED 0x4000
165b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_ENCODE_OPEN 0x2000
166b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_ENCODE_NOKEY 0x0800
167b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_ENCODE_TEMP 0x0400
168b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
169b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_POWER_ON 0x0000
170b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_POWER_TYPE 0xF000
171b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_POWER_PERIOD 0x1000
172b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_POWER_TIMEOUT 0x2000
173b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_POWER_MODE 0x0F00
174b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_POWER_UNICAST_R 0x0100
175b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_POWER_MULTICAST_R 0x0200
176b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_POWER_ALL_R 0x0300
177b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_POWER_FORCE_S 0x0400
178b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_POWER_REPEATER 0x0800
179b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_POWER_MODIFIER 0x000F
180b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_POWER_MIN 0x0001
181b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_POWER_MAX 0x0002
182b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_POWER_RELATIVE 0x0004
183b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
184b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_TXPOW_TYPE 0x00FF
185b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_TXPOW_DBM 0x0000
186b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_TXPOW_MWATT 0x0001
187b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_TXPOW_RELATIVE 0x0002
188b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_TXPOW_RANGE 0x1000
189b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
190b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_RETRY_ON 0x0000
191b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_RETRY_TYPE 0xF000
192b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_RETRY_LIMIT 0x1000
193b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_RETRY_LIFETIME 0x2000
194b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_RETRY_MODIFIER 0x000F
195b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_RETRY_MIN 0x0001
196b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_RETRY_MAX 0x0002
197b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_RETRY_RELATIVE 0x0004
198b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
199b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_SCAN_DEFAULT 0x0000
200b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_SCAN_ALL_ESSID 0x0001
201b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_SCAN_THIS_ESSID 0x0002
202b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_SCAN_ALL_FREQ 0x0004
203b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_SCAN_THIS_FREQ 0x0008
204b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_SCAN_ALL_MODE 0x0010
205b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_SCAN_THIS_MODE 0x0020
206b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_SCAN_ALL_RATE 0x0040
207b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_SCAN_THIS_RATE 0x0080
208b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
209b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_SCAN_TYPE_ACTIVE 0
210b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_SCAN_TYPE_PASSIVE 1
211b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
212b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_SCAN_MAX_DATA 4096
213b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
214b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_CUSTOM_MAX 256
215b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
216b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_GENERIC_IE_MAX 1024
217b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
218b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_MLME_DEAUTH 0
219b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_MLME_DISASSOC 1
220b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
221b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_AUTH_INDEX 0x0FFF
222b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_AUTH_FLAGS 0xF000
223b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
224b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_AUTH_WPA_VERSION 0
225b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_AUTH_CIPHER_PAIRWISE 1
226b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_AUTH_CIPHER_GROUP 2
227b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_AUTH_KEY_MGMT 3
228b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_AUTH_TKIP_COUNTERMEASURES 4
229b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_AUTH_DROP_UNENCRYPTED 5
230b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_AUTH_80211_AUTH_ALG 6
231b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_AUTH_WPA_ENABLED 7
232b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_AUTH_RX_UNENCRYPTED_EAPOL 8
233b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_AUTH_ROAMING_CONTROL 9
234b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_AUTH_PRIVACY_INVOKED 10
235b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
236b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_AUTH_WPA_VERSION_DISABLED 0x00000001
237b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_AUTH_WPA_VERSION_WPA 0x00000002
238b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_AUTH_WPA_VERSION_WPA2 0x00000004
239b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
240b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_AUTH_CIPHER_NONE 0x00000001
241b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_AUTH_CIPHER_WEP40 0x00000002
242b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_AUTH_CIPHER_TKIP 0x00000004
243b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_AUTH_CIPHER_CCMP 0x00000008
244b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_AUTH_CIPHER_WEP104 0x00000010
245b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
246b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_AUTH_KEY_MGMT_802_1X 1
247b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_AUTH_KEY_MGMT_PSK 2
248b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
249b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_AUTH_ALG_OPEN_SYSTEM 0x00000001
250b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_AUTH_ALG_SHARED_KEY 0x00000002
251b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_AUTH_ALG_LEAP 0x00000004
252b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
253b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_AUTH_ROAMING_ENABLE 0
254b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_AUTH_ROAMING_DISABLE 1
255b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
256b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_ENCODE_SEQ_MAX_SIZE 8
257b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
258b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_ENCODE_ALG_NONE 0
259b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_ENCODE_ALG_WEP 1
260b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_ENCODE_ALG_TKIP 2
261b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_ENCODE_ALG_CCMP 3
262b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
263b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_ENCODE_EXT_TX_SEQ_VALID 0x00000001
264b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_ENCODE_EXT_RX_SEQ_VALID 0x00000002
265b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_ENCODE_EXT_GROUP_KEY 0x00000004
266b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_ENCODE_EXT_SET_TX_KEY 0x00000008
267b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
268b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_MICFAILURE_KEY_ID 0x00000003
269b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_MICFAILURE_GROUP 0x00000004
270b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_MICFAILURE_PAIRWISE 0x00000008
271b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_MICFAILURE_STAKEY 0x00000010
272b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_MICFAILURE_COUNT 0x00000060
273b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
274b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_ENC_CAPA_WPA 0x00000001
275b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_ENC_CAPA_WPA2 0x00000002
276b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_ENC_CAPA_CIPHER_TKIP 0x00000004
277b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_ENC_CAPA_CIPHER_CCMP 0x00000008
278b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
279b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_EVENT_CAPA_BASE(cmd) ((cmd >= SIOCIWFIRSTPRIV) ?   (cmd - SIOCIWFIRSTPRIV + 0x60) :   (cmd - SIOCSIWCOMMIT))
280b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_EVENT_CAPA_INDEX(cmd) (IW_EVENT_CAPA_BASE(cmd) >> 5)
281b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_EVENT_CAPA_MASK(cmd) (1 << (IW_EVENT_CAPA_BASE(cmd) & 0x1F))
282b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
283b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_EVENT_CAPA_K_0 (IW_EVENT_CAPA_MASK(0x8B04) |   IW_EVENT_CAPA_MASK(0x8B06) |   IW_EVENT_CAPA_MASK(0x8B1A))
284b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_EVENT_CAPA_K_1 (IW_EVENT_CAPA_MASK(0x8B2A))
285b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
286b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_EVENT_CAPA_SET(event_capa, cmd) (event_capa[IW_EVENT_CAPA_INDEX(cmd)] |= IW_EVENT_CAPA_MASK(cmd))
287b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_EVENT_CAPA_SET_KERNEL(event_capa) {event_capa[0] |= IW_EVENT_CAPA_K_0; event_capa[1] |= IW_EVENT_CAPA_K_1; }
288b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
289b17fe090db1a34bac2c56bef93925fc893300e70Bruce Bearestruct iw_param
290b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare{
291b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __s32 value;
292b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u8 fixed;
293b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u8 disabled;
294b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u16 flags;
295b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare};
296b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
297b17fe090db1a34bac2c56bef93925fc893300e70Bruce Bearestruct iw_point
298b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare{
299b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare void __user *pointer;
300b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u16 length;
301b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u16 flags;
302b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare};
303b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
304b17fe090db1a34bac2c56bef93925fc893300e70Bruce Bearestruct iw_freq
305b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare{
306b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __s32 m;
307b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __s16 e;
308b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u8 i;
309b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u8 flags;
310b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare};
311b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
312b17fe090db1a34bac2c56bef93925fc893300e70Bruce Bearestruct iw_quality
313b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare{
314b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u8 qual;
315b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u8 level;
316b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u8 noise;
317b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u8 updated;
318b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare};
319b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
320b17fe090db1a34bac2c56bef93925fc893300e70Bruce Bearestruct iw_discarded
321b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare{
322b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u32 nwid;
323b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u32 code;
324b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u32 fragment;
325b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u32 retries;
326b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u32 misc;
327b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare};
328b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
329b17fe090db1a34bac2c56bef93925fc893300e70Bruce Bearestruct iw_missed
330b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare{
331b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u32 beacon;
332b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare};
333b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
334b17fe090db1a34bac2c56bef93925fc893300e70Bruce Bearestruct iw_thrspy
335b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare{
336b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare struct sockaddr addr;
337b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare struct iw_quality qual;
338b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare struct iw_quality low;
339b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare struct iw_quality high;
340b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare};
341b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
342b17fe090db1a34bac2c56bef93925fc893300e70Bruce Bearestruct iw_scan_req
343b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare{
344b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u8 scan_type;
345b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u8 essid_len;
346b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u8 num_channels;
347b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u8 flags;
348b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare struct sockaddr bssid;
349b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
350b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u8 essid[IW_ESSID_MAX_SIZE];
351b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
352b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u32 min_channel_time;
353b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u32 max_channel_time;
354b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
355b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare struct iw_freq channel_list[IW_MAX_FREQUENCIES];
356b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare};
357b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
358b17fe090db1a34bac2c56bef93925fc893300e70Bruce Bearestruct iw_encode_ext
359b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare{
360b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u32 ext_flags;
361b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u8 tx_seq[IW_ENCODE_SEQ_MAX_SIZE];
362b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u8 rx_seq[IW_ENCODE_SEQ_MAX_SIZE];
363b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare struct sockaddr addr;
364b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u16 alg;
365b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u16 key_len;
366b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u8 key[0];
367b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare};
368b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
369b17fe090db1a34bac2c56bef93925fc893300e70Bruce Bearestruct iw_mlme
370b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare{
371b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u16 cmd;
372b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u16 reason_code;
373b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare struct sockaddr addr;
374b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare};
375b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
376b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_PMKSA_ADD 1
377b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_PMKSA_REMOVE 2
378b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_PMKSA_FLUSH 3
379b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
380b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_PMKID_LEN 16
381b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
382b17fe090db1a34bac2c56bef93925fc893300e70Bruce Bearestruct iw_pmksa
383b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare{
384b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u32 cmd;
385b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare struct sockaddr bssid;
386b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u8 pmkid[IW_PMKID_LEN];
387b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare};
388b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
389b17fe090db1a34bac2c56bef93925fc893300e70Bruce Bearestruct iw_michaelmicfailure
390b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare{
391b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u32 flags;
392b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare struct sockaddr src_addr;
393b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u8 tsc[IW_ENCODE_SEQ_MAX_SIZE];
394b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare};
395b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
396b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_PMKID_CAND_PREAUTH 0x00000001
397b17fe090db1a34bac2c56bef93925fc893300e70Bruce Bearestruct iw_pmkid_cand
398b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare{
399b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u32 flags;
400b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u32 index;
401b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare struct sockaddr bssid;
402b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare};
403b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
404b17fe090db1a34bac2c56bef93925fc893300e70Bruce Bearestruct iw_statistics
405b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare{
406b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u16 status;
407b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
408b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare struct iw_quality qual;
409b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare struct iw_discarded discard;
410b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare struct iw_missed miss;
411b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare};
412b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
413b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beareunion iwreq_data
414b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare{
415b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
416b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare char name[IFNAMSIZ];
417b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
418b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare struct iw_point essid;
419b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare struct iw_param nwid;
420b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare struct iw_freq freq;
421b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
422b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare struct iw_param sens;
423b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare struct iw_param bitrate;
424b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare struct iw_param txpower;
425b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare struct iw_param rts;
426b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare struct iw_param frag;
427b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u32 mode;
428b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare struct iw_param retry;
429b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
430b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare struct iw_point encoding;
431b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare struct iw_param power;
432b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare struct iw_quality qual;
433b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
434b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare struct sockaddr ap_addr;
435b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare struct sockaddr addr;
436b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
437b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare struct iw_param param;
438b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare struct iw_point data;
439b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare};
440b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
441b17fe090db1a34bac2c56bef93925fc893300e70Bruce Bearestruct iwreq
442b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare{
443b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare union
444b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare {
445b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare char ifrn_name[IFNAMSIZ];
446b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare } ifr_ifrn;
447b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
448b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare union iwreq_data u;
449b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare};
450b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
451b17fe090db1a34bac2c56bef93925fc893300e70Bruce Bearestruct iw_range
452b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare{
453b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
454b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u32 throughput;
455b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
456b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u32 min_nwid;
457b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u32 max_nwid;
458b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
459b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u16 old_num_channels;
460b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u8 old_num_frequency;
461b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
462b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u32 event_capa[6];
463b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
464b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __s32 sensitivity;
465b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
466b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare struct iw_quality max_qual;
467b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
468b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare struct iw_quality avg_qual;
469b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
470b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u8 num_bitrates;
471b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __s32 bitrate[IW_MAX_BITRATES];
472b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
473b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __s32 min_rts;
474b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __s32 max_rts;
475b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
476b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __s32 min_frag;
477b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __s32 max_frag;
478b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
479b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __s32 min_pmp;
480b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __s32 max_pmp;
481b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __s32 min_pmt;
482b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __s32 max_pmt;
483b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u16 pmp_flags;
484b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u16 pmt_flags;
485b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u16 pm_capa;
486b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
487b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u16 encoding_size[IW_MAX_ENCODING_SIZES];
488b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u8 num_encoding_sizes;
489b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u8 max_encoding_tokens;
490b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
491b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u8 encoding_login_index;
492b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
493b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u16 txpower_capa;
494b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u8 num_txpower;
495b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __s32 txpower[IW_MAX_TXPOWER];
496b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
497b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u8 we_version_compiled;
498b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u8 we_version_source;
499b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
500b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u16 retry_capa;
501b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u16 retry_flags;
502b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u16 r_time_flags;
503b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __s32 min_retry;
504b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __s32 max_retry;
505b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __s32 min_r_time;
506b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __s32 max_r_time;
507b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
508b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u16 num_channels;
509b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u8 num_frequency;
510b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare struct iw_freq freq[IW_MAX_FREQUENCIES];
511b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
512b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u32 enc_capa;
513b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare};
514b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
515b17fe090db1a34bac2c56bef93925fc893300e70Bruce Bearestruct iw_priv_args
516b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare{
517b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u32 cmd;
518b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u16 set_args;
519b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u16 get_args;
520b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare char name[IFNAMSIZ];
521b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare};
522b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
523b17fe090db1a34bac2c56bef93925fc893300e70Bruce Bearestruct iw_event
524b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare{
525b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u16 len;
526b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare __u16 cmd;
527b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare union iwreq_data u;
528b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare};
529b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
530b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_EV_LCP_LEN (sizeof(struct iw_event) - sizeof(union iwreq_data))
531b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
532b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_EV_CHAR_LEN (IW_EV_LCP_LEN + IFNAMSIZ)
533b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_EV_UINT_LEN (IW_EV_LCP_LEN + sizeof(__u32))
534b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_EV_FREQ_LEN (IW_EV_LCP_LEN + sizeof(struct iw_freq))
535b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_EV_PARAM_LEN (IW_EV_LCP_LEN + sizeof(struct iw_param))
536b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_EV_ADDR_LEN (IW_EV_LCP_LEN + sizeof(struct sockaddr))
537b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_EV_QUAL_LEN (IW_EV_LCP_LEN + sizeof(struct iw_quality))
538b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
539b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_EV_POINT_OFF (((char *) &(((struct iw_point *) NULL)->length)) -   (char *) NULL)
540b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#define IW_EV_POINT_LEN (IW_EV_LCP_LEN + sizeof(struct iw_point) -   IW_EV_POINT_OFF)
541b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare
542b17fe090db1a34bac2c56bef93925fc893300e70Bruce Beare#endif
543