1951a39d68df598db08dfced8b4707755864a0492Ying Wang/****************************************************************************
2951a39d68df598db08dfced8b4707755864a0492Ying Wang ****************************************************************************
3951a39d68df598db08dfced8b4707755864a0492Ying Wang ***
4951a39d68df598db08dfced8b4707755864a0492Ying Wang ***   This header was automatically generated from a Linux kernel header
5951a39d68df598db08dfced8b4707755864a0492Ying Wang ***   of the same name, to make information necessary for userspace to
6951a39d68df598db08dfced8b4707755864a0492Ying Wang ***   call into the kernel available to libc.  It contains only constants,
7951a39d68df598db08dfced8b4707755864a0492Ying Wang ***   structures, and macros generated from the original header, and thus,
8951a39d68df598db08dfced8b4707755864a0492Ying Wang ***   contains no copyrightable information.
9951a39d68df598db08dfced8b4707755864a0492Ying Wang ***
10951a39d68df598db08dfced8b4707755864a0492Ying Wang ****************************************************************************
11951a39d68df598db08dfced8b4707755864a0492Ying Wang ****************************************************************************/
12951a39d68df598db08dfced8b4707755864a0492Ying Wang#ifndef _LINUX_WIRELESS_H
13951a39d68df598db08dfced8b4707755864a0492Ying Wang#define _LINUX_WIRELESS_H
14951a39d68df598db08dfced8b4707755864a0492Ying Wang
15951a39d68df598db08dfced8b4707755864a0492Ying Wang#include <linux/types.h>
16951a39d68df598db08dfced8b4707755864a0492Ying Wang#include <linux/socket.h>
17951a39d68df598db08dfced8b4707755864a0492Ying Wang#include <linux/if.h>
18951a39d68df598db08dfced8b4707755864a0492Ying Wang
19951a39d68df598db08dfced8b4707755864a0492Ying Wang#define WIRELESS_EXT 20
20951a39d68df598db08dfced8b4707755864a0492Ying Wang
21951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCSIWCOMMIT 0x8B00
22951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCGIWNAME 0x8B01
23951a39d68df598db08dfced8b4707755864a0492Ying Wang
24951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCSIWNWID 0x8B02
25951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCGIWNWID 0x8B03
26951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCSIWFREQ 0x8B04
27951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCGIWFREQ 0x8B05
28951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCSIWMODE 0x8B06
29951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCGIWMODE 0x8B07
30951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCSIWSENS 0x8B08
31951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCGIWSENS 0x8B09
32951a39d68df598db08dfced8b4707755864a0492Ying Wang
33951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCSIWRANGE 0x8B0A
34951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCGIWRANGE 0x8B0B
35951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCSIWPRIV 0x8B0C
36951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCGIWPRIV 0x8B0D
37951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCSIWSTATS 0x8B0E
38951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCGIWSTATS 0x8B0F
39951a39d68df598db08dfced8b4707755864a0492Ying Wang
40951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCSIWSPY 0x8B10
41951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCGIWSPY 0x8B11
42951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCSIWTHRSPY 0x8B12
43951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCGIWTHRSPY 0x8B13
44951a39d68df598db08dfced8b4707755864a0492Ying Wang
45951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCSIWAP 0x8B14
46951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCGIWAP 0x8B15
47951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCGIWAPLIST 0x8B17
48951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCSIWSCAN 0x8B18
49951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCGIWSCAN 0x8B19
50951a39d68df598db08dfced8b4707755864a0492Ying Wang
51951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCSIWESSID 0x8B1A
52951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCGIWESSID 0x8B1B
53951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCSIWNICKN 0x8B1C
54951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCGIWNICKN 0x8B1D
55951a39d68df598db08dfced8b4707755864a0492Ying Wang
56951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCSIWRATE 0x8B20
57951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCGIWRATE 0x8B21
58951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCSIWRTS 0x8B22
59951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCGIWRTS 0x8B23
60951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCSIWFRAG 0x8B24
61951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCGIWFRAG 0x8B25
62951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCSIWTXPOW 0x8B26
63951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCGIWTXPOW 0x8B27
64951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCSIWRETRY 0x8B28
65951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCGIWRETRY 0x8B29
66951a39d68df598db08dfced8b4707755864a0492Ying Wang
67951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCSIWENCODE 0x8B2A
68951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCGIWENCODE 0x8B2B
69951a39d68df598db08dfced8b4707755864a0492Ying Wang
70951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCSIWPOWER 0x8B2C
71951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCGIWPOWER 0x8B2D
72951a39d68df598db08dfced8b4707755864a0492Ying Wang
73951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCSIWGENIE 0x8B30
74951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCGIWGENIE 0x8B31
75951a39d68df598db08dfced8b4707755864a0492Ying Wang
76951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCSIWMLME 0x8B16
77951a39d68df598db08dfced8b4707755864a0492Ying Wang
78951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCSIWAUTH 0x8B32
79951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCGIWAUTH 0x8B33
80951a39d68df598db08dfced8b4707755864a0492Ying Wang
81951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCSIWENCODEEXT 0x8B34
82951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCGIWENCODEEXT 0x8B35
83951a39d68df598db08dfced8b4707755864a0492Ying Wang
84951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCSIWPMKSA 0x8B36
85951a39d68df598db08dfced8b4707755864a0492Ying Wang
86951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCIWFIRSTPRIV 0x8BE0
87951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCIWLASTPRIV 0x8BFF
88951a39d68df598db08dfced8b4707755864a0492Ying Wang
89951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCIWFIRST 0x8B00
90951a39d68df598db08dfced8b4707755864a0492Ying Wang#define SIOCIWLAST SIOCIWLASTPRIV
91951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_IOCTL_IDX(cmd) ((cmd) - SIOCIWFIRST)
92951a39d68df598db08dfced8b4707755864a0492Ying Wang
93951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_IS_SET(cmd) (!((cmd) & 0x1))
94951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_IS_GET(cmd) ((cmd) & 0x1)
95951a39d68df598db08dfced8b4707755864a0492Ying Wang
96951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IWEVTXDROP 0x8C00
97951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IWEVQUAL 0x8C01
98951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IWEVCUSTOM 0x8C02
99951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IWEVREGISTERED 0x8C03
100951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IWEVEXPIRED 0x8C04
101951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IWEVGENIE 0x8C05
102951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IWEVMICHAELMICFAILURE 0x8C06
103951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IWEVASSOCREQIE 0x8C07
104951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IWEVASSOCRESPIE 0x8C08
105951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IWEVPMKIDCAND 0x8C09
106951a39d68df598db08dfced8b4707755864a0492Ying Wang
107951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IWEVFIRST 0x8C00
108951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_EVENT_IDX(cmd) ((cmd) - IWEVFIRST)
109951a39d68df598db08dfced8b4707755864a0492Ying Wang
110951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_PRIV_TYPE_MASK 0x7000
111951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_PRIV_TYPE_NONE 0x0000
112951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_PRIV_TYPE_BYTE 0x1000
113951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_PRIV_TYPE_CHAR 0x2000
114951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_PRIV_TYPE_INT 0x4000
115951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_PRIV_TYPE_FLOAT 0x5000
116951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_PRIV_TYPE_ADDR 0x6000
117951a39d68df598db08dfced8b4707755864a0492Ying Wang
118951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_PRIV_SIZE_FIXED 0x0800
119951a39d68df598db08dfced8b4707755864a0492Ying Wang
120951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_PRIV_SIZE_MASK 0x07FF
121951a39d68df598db08dfced8b4707755864a0492Ying Wang
122951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_MAX_FREQUENCIES 32
123951a39d68df598db08dfced8b4707755864a0492Ying Wang
124951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_MAX_BITRATES 32
125951a39d68df598db08dfced8b4707755864a0492Ying Wang
126951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_MAX_TXPOWER 8
127951a39d68df598db08dfced8b4707755864a0492Ying Wang
128951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_MAX_SPY 8
129951a39d68df598db08dfced8b4707755864a0492Ying Wang
130951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_MAX_AP 64
131951a39d68df598db08dfced8b4707755864a0492Ying Wang
132951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_ESSID_MAX_SIZE 32
133951a39d68df598db08dfced8b4707755864a0492Ying Wang
134951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_MODE_AUTO 0
135951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_MODE_ADHOC 1
136951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_MODE_INFRA 2
137951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_MODE_MASTER 3
138951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_MODE_REPEAT 4
139951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_MODE_SECOND 5
140951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_MODE_MONITOR 6
141951a39d68df598db08dfced8b4707755864a0492Ying Wang
142951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_QUAL_QUAL_UPDATED 0x01
143951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_QUAL_LEVEL_UPDATED 0x02
144951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_QUAL_NOISE_UPDATED 0x04
145951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_QUAL_ALL_UPDATED 0x07
146951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_QUAL_DBM 0x08
147951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_QUAL_QUAL_INVALID 0x10
148951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_QUAL_LEVEL_INVALID 0x20
149951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_QUAL_NOISE_INVALID 0x40
150951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_QUAL_ALL_INVALID 0x70
151951a39d68df598db08dfced8b4707755864a0492Ying Wang
152951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_FREQ_AUTO 0x00
153951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_FREQ_FIXED 0x01
154951a39d68df598db08dfced8b4707755864a0492Ying Wang
155951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_MAX_ENCODING_SIZES 8
156951a39d68df598db08dfced8b4707755864a0492Ying Wang
157951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_ENCODING_TOKEN_MAX 64
158951a39d68df598db08dfced8b4707755864a0492Ying Wang
159951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_ENCODE_INDEX 0x00FF
160951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_ENCODE_FLAGS 0xFF00
161951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_ENCODE_MODE 0xF000
162951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_ENCODE_DISABLED 0x8000
163951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_ENCODE_ENABLED 0x0000
164951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_ENCODE_RESTRICTED 0x4000
165951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_ENCODE_OPEN 0x2000
166951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_ENCODE_NOKEY 0x0800
167951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_ENCODE_TEMP 0x0400
168951a39d68df598db08dfced8b4707755864a0492Ying Wang
169951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_POWER_ON 0x0000
170951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_POWER_TYPE 0xF000
171951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_POWER_PERIOD 0x1000
172951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_POWER_TIMEOUT 0x2000
173951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_POWER_MODE 0x0F00
174951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_POWER_UNICAST_R 0x0100
175951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_POWER_MULTICAST_R 0x0200
176951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_POWER_ALL_R 0x0300
177951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_POWER_FORCE_S 0x0400
178951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_POWER_REPEATER 0x0800
179951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_POWER_MODIFIER 0x000F
180951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_POWER_MIN 0x0001
181951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_POWER_MAX 0x0002
182951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_POWER_RELATIVE 0x0004
183951a39d68df598db08dfced8b4707755864a0492Ying Wang
184951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_TXPOW_TYPE 0x00FF
185951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_TXPOW_DBM 0x0000
186951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_TXPOW_MWATT 0x0001
187951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_TXPOW_RELATIVE 0x0002
188951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_TXPOW_RANGE 0x1000
189951a39d68df598db08dfced8b4707755864a0492Ying Wang
190951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_RETRY_ON 0x0000
191951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_RETRY_TYPE 0xF000
192951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_RETRY_LIMIT 0x1000
193951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_RETRY_LIFETIME 0x2000
194951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_RETRY_MODIFIER 0x000F
195951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_RETRY_MIN 0x0001
196951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_RETRY_MAX 0x0002
197951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_RETRY_RELATIVE 0x0004
198951a39d68df598db08dfced8b4707755864a0492Ying Wang
199951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_SCAN_DEFAULT 0x0000
200951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_SCAN_ALL_ESSID 0x0001
201951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_SCAN_THIS_ESSID 0x0002
202951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_SCAN_ALL_FREQ 0x0004
203951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_SCAN_THIS_FREQ 0x0008
204951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_SCAN_ALL_MODE 0x0010
205951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_SCAN_THIS_MODE 0x0020
206951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_SCAN_ALL_RATE 0x0040
207951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_SCAN_THIS_RATE 0x0080
208951a39d68df598db08dfced8b4707755864a0492Ying Wang
209951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_SCAN_TYPE_ACTIVE 0
210951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_SCAN_TYPE_PASSIVE 1
211951a39d68df598db08dfced8b4707755864a0492Ying Wang
212951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_SCAN_MAX_DATA 4096
213951a39d68df598db08dfced8b4707755864a0492Ying Wang
214951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_CUSTOM_MAX 256
215951a39d68df598db08dfced8b4707755864a0492Ying Wang
216951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_GENERIC_IE_MAX 1024
217951a39d68df598db08dfced8b4707755864a0492Ying Wang
218951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_MLME_DEAUTH 0
219951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_MLME_DISASSOC 1
220951a39d68df598db08dfced8b4707755864a0492Ying Wang
221951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_AUTH_INDEX 0x0FFF
222951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_AUTH_FLAGS 0xF000
223951a39d68df598db08dfced8b4707755864a0492Ying Wang
224951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_AUTH_WPA_VERSION 0
225951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_AUTH_CIPHER_PAIRWISE 1
226951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_AUTH_CIPHER_GROUP 2
227951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_AUTH_KEY_MGMT 3
228951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_AUTH_TKIP_COUNTERMEASURES 4
229951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_AUTH_DROP_UNENCRYPTED 5
230951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_AUTH_80211_AUTH_ALG 6
231951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_AUTH_WPA_ENABLED 7
232951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_AUTH_RX_UNENCRYPTED_EAPOL 8
233951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_AUTH_ROAMING_CONTROL 9
234951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_AUTH_PRIVACY_INVOKED 10
235951a39d68df598db08dfced8b4707755864a0492Ying Wang
236951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_AUTH_WPA_VERSION_DISABLED 0x00000001
237951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_AUTH_WPA_VERSION_WPA 0x00000002
238951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_AUTH_WPA_VERSION_WPA2 0x00000004
239951a39d68df598db08dfced8b4707755864a0492Ying Wang
240951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_AUTH_CIPHER_NONE 0x00000001
241951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_AUTH_CIPHER_WEP40 0x00000002
242951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_AUTH_CIPHER_TKIP 0x00000004
243951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_AUTH_CIPHER_CCMP 0x00000008
244951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_AUTH_CIPHER_WEP104 0x00000010
245951a39d68df598db08dfced8b4707755864a0492Ying Wang
246951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_AUTH_KEY_MGMT_802_1X 1
247951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_AUTH_KEY_MGMT_PSK 2
248951a39d68df598db08dfced8b4707755864a0492Ying Wang
249951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_AUTH_ALG_OPEN_SYSTEM 0x00000001
250951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_AUTH_ALG_SHARED_KEY 0x00000002
251951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_AUTH_ALG_LEAP 0x00000004
252951a39d68df598db08dfced8b4707755864a0492Ying Wang
253951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_AUTH_ROAMING_ENABLE 0
254951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_AUTH_ROAMING_DISABLE 1
255951a39d68df598db08dfced8b4707755864a0492Ying Wang
256951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_ENCODE_SEQ_MAX_SIZE 8
257951a39d68df598db08dfced8b4707755864a0492Ying Wang
258951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_ENCODE_ALG_NONE 0
259951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_ENCODE_ALG_WEP 1
260951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_ENCODE_ALG_TKIP 2
261951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_ENCODE_ALG_CCMP 3
262951a39d68df598db08dfced8b4707755864a0492Ying Wang
263951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_ENCODE_EXT_TX_SEQ_VALID 0x00000001
264951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_ENCODE_EXT_RX_SEQ_VALID 0x00000002
265951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_ENCODE_EXT_GROUP_KEY 0x00000004
266951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_ENCODE_EXT_SET_TX_KEY 0x00000008
267951a39d68df598db08dfced8b4707755864a0492Ying Wang
268951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_MICFAILURE_KEY_ID 0x00000003
269951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_MICFAILURE_GROUP 0x00000004
270951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_MICFAILURE_PAIRWISE 0x00000008
271951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_MICFAILURE_STAKEY 0x00000010
272951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_MICFAILURE_COUNT 0x00000060
273951a39d68df598db08dfced8b4707755864a0492Ying Wang
274951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_ENC_CAPA_WPA 0x00000001
275951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_ENC_CAPA_WPA2 0x00000002
276951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_ENC_CAPA_CIPHER_TKIP 0x00000004
277951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_ENC_CAPA_CIPHER_CCMP 0x00000008
278951a39d68df598db08dfced8b4707755864a0492Ying Wang
279951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_EVENT_CAPA_BASE(cmd) ((cmd >= SIOCIWFIRSTPRIV) ?   (cmd - SIOCIWFIRSTPRIV + 0x60) :   (cmd - SIOCSIWCOMMIT))
280951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_EVENT_CAPA_INDEX(cmd) (IW_EVENT_CAPA_BASE(cmd) >> 5)
281951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_EVENT_CAPA_MASK(cmd) (1 << (IW_EVENT_CAPA_BASE(cmd) & 0x1F))
282951a39d68df598db08dfced8b4707755864a0492Ying Wang
283951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_EVENT_CAPA_K_0 (IW_EVENT_CAPA_MASK(0x8B04) |   IW_EVENT_CAPA_MASK(0x8B06) |   IW_EVENT_CAPA_MASK(0x8B1A))
284951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_EVENT_CAPA_K_1 (IW_EVENT_CAPA_MASK(0x8B2A))
285951a39d68df598db08dfced8b4707755864a0492Ying Wang
286951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_EVENT_CAPA_SET(event_capa, cmd) (event_capa[IW_EVENT_CAPA_INDEX(cmd)] |= IW_EVENT_CAPA_MASK(cmd))
287951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_EVENT_CAPA_SET_KERNEL(event_capa) {event_capa[0] |= IW_EVENT_CAPA_K_0; event_capa[1] |= IW_EVENT_CAPA_K_1; }
288951a39d68df598db08dfced8b4707755864a0492Ying Wang
289951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct iw_param
290951a39d68df598db08dfced8b4707755864a0492Ying Wang{
291951a39d68df598db08dfced8b4707755864a0492Ying Wang __s32 value;
292951a39d68df598db08dfced8b4707755864a0492Ying Wang __u8 fixed;
293951a39d68df598db08dfced8b4707755864a0492Ying Wang __u8 disabled;
294951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 flags;
295951a39d68df598db08dfced8b4707755864a0492Ying Wang};
296951a39d68df598db08dfced8b4707755864a0492Ying Wang
297951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct iw_point
298951a39d68df598db08dfced8b4707755864a0492Ying Wang{
299951a39d68df598db08dfced8b4707755864a0492Ying Wang void __user *pointer;
300951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 length;
301951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 flags;
302951a39d68df598db08dfced8b4707755864a0492Ying Wang};
303951a39d68df598db08dfced8b4707755864a0492Ying Wang
304951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct iw_freq
305951a39d68df598db08dfced8b4707755864a0492Ying Wang{
306951a39d68df598db08dfced8b4707755864a0492Ying Wang __s32 m;
307951a39d68df598db08dfced8b4707755864a0492Ying Wang __s16 e;
308951a39d68df598db08dfced8b4707755864a0492Ying Wang __u8 i;
309951a39d68df598db08dfced8b4707755864a0492Ying Wang __u8 flags;
310951a39d68df598db08dfced8b4707755864a0492Ying Wang};
311951a39d68df598db08dfced8b4707755864a0492Ying Wang
312951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct iw_quality
313951a39d68df598db08dfced8b4707755864a0492Ying Wang{
314951a39d68df598db08dfced8b4707755864a0492Ying Wang __u8 qual;
315951a39d68df598db08dfced8b4707755864a0492Ying Wang __u8 level;
316951a39d68df598db08dfced8b4707755864a0492Ying Wang __u8 noise;
317951a39d68df598db08dfced8b4707755864a0492Ying Wang __u8 updated;
318951a39d68df598db08dfced8b4707755864a0492Ying Wang};
319951a39d68df598db08dfced8b4707755864a0492Ying Wang
320951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct iw_discarded
321951a39d68df598db08dfced8b4707755864a0492Ying Wang{
322951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 nwid;
323951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 code;
324951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 fragment;
325951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 retries;
326951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 misc;
327951a39d68df598db08dfced8b4707755864a0492Ying Wang};
328951a39d68df598db08dfced8b4707755864a0492Ying Wang
329951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct iw_missed
330951a39d68df598db08dfced8b4707755864a0492Ying Wang{
331951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 beacon;
332951a39d68df598db08dfced8b4707755864a0492Ying Wang};
333951a39d68df598db08dfced8b4707755864a0492Ying Wang
334951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct iw_thrspy
335951a39d68df598db08dfced8b4707755864a0492Ying Wang{
336951a39d68df598db08dfced8b4707755864a0492Ying Wang struct sockaddr addr;
337951a39d68df598db08dfced8b4707755864a0492Ying Wang struct iw_quality qual;
338951a39d68df598db08dfced8b4707755864a0492Ying Wang struct iw_quality low;
339951a39d68df598db08dfced8b4707755864a0492Ying Wang struct iw_quality high;
340951a39d68df598db08dfced8b4707755864a0492Ying Wang};
341951a39d68df598db08dfced8b4707755864a0492Ying Wang
342951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct iw_scan_req
343951a39d68df598db08dfced8b4707755864a0492Ying Wang{
344951a39d68df598db08dfced8b4707755864a0492Ying Wang __u8 scan_type;
345951a39d68df598db08dfced8b4707755864a0492Ying Wang __u8 essid_len;
346951a39d68df598db08dfced8b4707755864a0492Ying Wang __u8 num_channels;
347951a39d68df598db08dfced8b4707755864a0492Ying Wang __u8 flags;
348951a39d68df598db08dfced8b4707755864a0492Ying Wang struct sockaddr bssid;
349951a39d68df598db08dfced8b4707755864a0492Ying Wang
350951a39d68df598db08dfced8b4707755864a0492Ying Wang __u8 essid[IW_ESSID_MAX_SIZE];
351951a39d68df598db08dfced8b4707755864a0492Ying Wang
352951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 min_channel_time;
353951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 max_channel_time;
354951a39d68df598db08dfced8b4707755864a0492Ying Wang
355951a39d68df598db08dfced8b4707755864a0492Ying Wang struct iw_freq channel_list[IW_MAX_FREQUENCIES];
356951a39d68df598db08dfced8b4707755864a0492Ying Wang};
357951a39d68df598db08dfced8b4707755864a0492Ying Wang
358951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct iw_encode_ext
359951a39d68df598db08dfced8b4707755864a0492Ying Wang{
360951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 ext_flags;
361951a39d68df598db08dfced8b4707755864a0492Ying Wang __u8 tx_seq[IW_ENCODE_SEQ_MAX_SIZE];
362951a39d68df598db08dfced8b4707755864a0492Ying Wang __u8 rx_seq[IW_ENCODE_SEQ_MAX_SIZE];
363951a39d68df598db08dfced8b4707755864a0492Ying Wang struct sockaddr addr;
364951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 alg;
365951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 key_len;
366951a39d68df598db08dfced8b4707755864a0492Ying Wang __u8 key[0];
367951a39d68df598db08dfced8b4707755864a0492Ying Wang};
368951a39d68df598db08dfced8b4707755864a0492Ying Wang
369951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct iw_mlme
370951a39d68df598db08dfced8b4707755864a0492Ying Wang{
371951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 cmd;
372951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 reason_code;
373951a39d68df598db08dfced8b4707755864a0492Ying Wang struct sockaddr addr;
374951a39d68df598db08dfced8b4707755864a0492Ying Wang};
375951a39d68df598db08dfced8b4707755864a0492Ying Wang
376951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_PMKSA_ADD 1
377951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_PMKSA_REMOVE 2
378951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_PMKSA_FLUSH 3
379951a39d68df598db08dfced8b4707755864a0492Ying Wang
380951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_PMKID_LEN 16
381951a39d68df598db08dfced8b4707755864a0492Ying Wang
382951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct iw_pmksa
383951a39d68df598db08dfced8b4707755864a0492Ying Wang{
384951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 cmd;
385951a39d68df598db08dfced8b4707755864a0492Ying Wang struct sockaddr bssid;
386951a39d68df598db08dfced8b4707755864a0492Ying Wang __u8 pmkid[IW_PMKID_LEN];
387951a39d68df598db08dfced8b4707755864a0492Ying Wang};
388951a39d68df598db08dfced8b4707755864a0492Ying Wang
389951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct iw_michaelmicfailure
390951a39d68df598db08dfced8b4707755864a0492Ying Wang{
391951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 flags;
392951a39d68df598db08dfced8b4707755864a0492Ying Wang struct sockaddr src_addr;
393951a39d68df598db08dfced8b4707755864a0492Ying Wang __u8 tsc[IW_ENCODE_SEQ_MAX_SIZE];
394951a39d68df598db08dfced8b4707755864a0492Ying Wang};
395951a39d68df598db08dfced8b4707755864a0492Ying Wang
396951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_PMKID_CAND_PREAUTH 0x00000001
397951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct iw_pmkid_cand
398951a39d68df598db08dfced8b4707755864a0492Ying Wang{
399951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 flags;
400951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 index;
401951a39d68df598db08dfced8b4707755864a0492Ying Wang struct sockaddr bssid;
402951a39d68df598db08dfced8b4707755864a0492Ying Wang};
403951a39d68df598db08dfced8b4707755864a0492Ying Wang
404951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct iw_statistics
405951a39d68df598db08dfced8b4707755864a0492Ying Wang{
406951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 status;
407951a39d68df598db08dfced8b4707755864a0492Ying Wang
408951a39d68df598db08dfced8b4707755864a0492Ying Wang struct iw_quality qual;
409951a39d68df598db08dfced8b4707755864a0492Ying Wang struct iw_discarded discard;
410951a39d68df598db08dfced8b4707755864a0492Ying Wang struct iw_missed miss;
411951a39d68df598db08dfced8b4707755864a0492Ying Wang};
412951a39d68df598db08dfced8b4707755864a0492Ying Wang
413951a39d68df598db08dfced8b4707755864a0492Ying Wangunion iwreq_data
414951a39d68df598db08dfced8b4707755864a0492Ying Wang{
415951a39d68df598db08dfced8b4707755864a0492Ying Wang
416951a39d68df598db08dfced8b4707755864a0492Ying Wang char name[IFNAMSIZ];
417951a39d68df598db08dfced8b4707755864a0492Ying Wang
418951a39d68df598db08dfced8b4707755864a0492Ying Wang struct iw_point essid;
419951a39d68df598db08dfced8b4707755864a0492Ying Wang struct iw_param nwid;
420951a39d68df598db08dfced8b4707755864a0492Ying Wang struct iw_freq freq;
421951a39d68df598db08dfced8b4707755864a0492Ying Wang
422951a39d68df598db08dfced8b4707755864a0492Ying Wang struct iw_param sens;
423951a39d68df598db08dfced8b4707755864a0492Ying Wang struct iw_param bitrate;
424951a39d68df598db08dfced8b4707755864a0492Ying Wang struct iw_param txpower;
425951a39d68df598db08dfced8b4707755864a0492Ying Wang struct iw_param rts;
426951a39d68df598db08dfced8b4707755864a0492Ying Wang struct iw_param frag;
427951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 mode;
428951a39d68df598db08dfced8b4707755864a0492Ying Wang struct iw_param retry;
429951a39d68df598db08dfced8b4707755864a0492Ying Wang
430951a39d68df598db08dfced8b4707755864a0492Ying Wang struct iw_point encoding;
431951a39d68df598db08dfced8b4707755864a0492Ying Wang struct iw_param power;
432951a39d68df598db08dfced8b4707755864a0492Ying Wang struct iw_quality qual;
433951a39d68df598db08dfced8b4707755864a0492Ying Wang
434951a39d68df598db08dfced8b4707755864a0492Ying Wang struct sockaddr ap_addr;
435951a39d68df598db08dfced8b4707755864a0492Ying Wang struct sockaddr addr;
436951a39d68df598db08dfced8b4707755864a0492Ying Wang
437951a39d68df598db08dfced8b4707755864a0492Ying Wang struct iw_param param;
438951a39d68df598db08dfced8b4707755864a0492Ying Wang struct iw_point data;
439951a39d68df598db08dfced8b4707755864a0492Ying Wang};
440951a39d68df598db08dfced8b4707755864a0492Ying Wang
441951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct iwreq
442951a39d68df598db08dfced8b4707755864a0492Ying Wang{
443951a39d68df598db08dfced8b4707755864a0492Ying Wang union
444951a39d68df598db08dfced8b4707755864a0492Ying Wang {
445951a39d68df598db08dfced8b4707755864a0492Ying Wang char ifrn_name[IFNAMSIZ];
446951a39d68df598db08dfced8b4707755864a0492Ying Wang } ifr_ifrn;
447951a39d68df598db08dfced8b4707755864a0492Ying Wang
448951a39d68df598db08dfced8b4707755864a0492Ying Wang union iwreq_data u;
449951a39d68df598db08dfced8b4707755864a0492Ying Wang};
450951a39d68df598db08dfced8b4707755864a0492Ying Wang
451951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct iw_range
452951a39d68df598db08dfced8b4707755864a0492Ying Wang{
453951a39d68df598db08dfced8b4707755864a0492Ying Wang
454951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 throughput;
455951a39d68df598db08dfced8b4707755864a0492Ying Wang
456951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 min_nwid;
457951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 max_nwid;
458951a39d68df598db08dfced8b4707755864a0492Ying Wang
459951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 old_num_channels;
460951a39d68df598db08dfced8b4707755864a0492Ying Wang __u8 old_num_frequency;
461951a39d68df598db08dfced8b4707755864a0492Ying Wang
462951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 event_capa[6];
463951a39d68df598db08dfced8b4707755864a0492Ying Wang
464951a39d68df598db08dfced8b4707755864a0492Ying Wang __s32 sensitivity;
465951a39d68df598db08dfced8b4707755864a0492Ying Wang
466951a39d68df598db08dfced8b4707755864a0492Ying Wang struct iw_quality max_qual;
467951a39d68df598db08dfced8b4707755864a0492Ying Wang
468951a39d68df598db08dfced8b4707755864a0492Ying Wang struct iw_quality avg_qual;
469951a39d68df598db08dfced8b4707755864a0492Ying Wang
470951a39d68df598db08dfced8b4707755864a0492Ying Wang __u8 num_bitrates;
471951a39d68df598db08dfced8b4707755864a0492Ying Wang __s32 bitrate[IW_MAX_BITRATES];
472951a39d68df598db08dfced8b4707755864a0492Ying Wang
473951a39d68df598db08dfced8b4707755864a0492Ying Wang __s32 min_rts;
474951a39d68df598db08dfced8b4707755864a0492Ying Wang __s32 max_rts;
475951a39d68df598db08dfced8b4707755864a0492Ying Wang
476951a39d68df598db08dfced8b4707755864a0492Ying Wang __s32 min_frag;
477951a39d68df598db08dfced8b4707755864a0492Ying Wang __s32 max_frag;
478951a39d68df598db08dfced8b4707755864a0492Ying Wang
479951a39d68df598db08dfced8b4707755864a0492Ying Wang __s32 min_pmp;
480951a39d68df598db08dfced8b4707755864a0492Ying Wang __s32 max_pmp;
481951a39d68df598db08dfced8b4707755864a0492Ying Wang __s32 min_pmt;
482951a39d68df598db08dfced8b4707755864a0492Ying Wang __s32 max_pmt;
483951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 pmp_flags;
484951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 pmt_flags;
485951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 pm_capa;
486951a39d68df598db08dfced8b4707755864a0492Ying Wang
487951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 encoding_size[IW_MAX_ENCODING_SIZES];
488951a39d68df598db08dfced8b4707755864a0492Ying Wang __u8 num_encoding_sizes;
489951a39d68df598db08dfced8b4707755864a0492Ying Wang __u8 max_encoding_tokens;
490951a39d68df598db08dfced8b4707755864a0492Ying Wang
491951a39d68df598db08dfced8b4707755864a0492Ying Wang __u8 encoding_login_index;
492951a39d68df598db08dfced8b4707755864a0492Ying Wang
493951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 txpower_capa;
494951a39d68df598db08dfced8b4707755864a0492Ying Wang __u8 num_txpower;
495951a39d68df598db08dfced8b4707755864a0492Ying Wang __s32 txpower[IW_MAX_TXPOWER];
496951a39d68df598db08dfced8b4707755864a0492Ying Wang
497951a39d68df598db08dfced8b4707755864a0492Ying Wang __u8 we_version_compiled;
498951a39d68df598db08dfced8b4707755864a0492Ying Wang __u8 we_version_source;
499951a39d68df598db08dfced8b4707755864a0492Ying Wang
500951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 retry_capa;
501951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 retry_flags;
502951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 r_time_flags;
503951a39d68df598db08dfced8b4707755864a0492Ying Wang __s32 min_retry;
504951a39d68df598db08dfced8b4707755864a0492Ying Wang __s32 max_retry;
505951a39d68df598db08dfced8b4707755864a0492Ying Wang __s32 min_r_time;
506951a39d68df598db08dfced8b4707755864a0492Ying Wang __s32 max_r_time;
507951a39d68df598db08dfced8b4707755864a0492Ying Wang
508951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 num_channels;
509951a39d68df598db08dfced8b4707755864a0492Ying Wang __u8 num_frequency;
510951a39d68df598db08dfced8b4707755864a0492Ying Wang struct iw_freq freq[IW_MAX_FREQUENCIES];
511951a39d68df598db08dfced8b4707755864a0492Ying Wang
512951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 enc_capa;
513951a39d68df598db08dfced8b4707755864a0492Ying Wang};
514951a39d68df598db08dfced8b4707755864a0492Ying Wang
515951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct iw_priv_args
516951a39d68df598db08dfced8b4707755864a0492Ying Wang{
517951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 cmd;
518951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 set_args;
519951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 get_args;
520951a39d68df598db08dfced8b4707755864a0492Ying Wang char name[IFNAMSIZ];
521951a39d68df598db08dfced8b4707755864a0492Ying Wang};
522951a39d68df598db08dfced8b4707755864a0492Ying Wang
523951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct iw_event
524951a39d68df598db08dfced8b4707755864a0492Ying Wang{
525951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 len;
526951a39d68df598db08dfced8b4707755864a0492Ying Wang __u16 cmd;
527951a39d68df598db08dfced8b4707755864a0492Ying Wang union iwreq_data u;
528951a39d68df598db08dfced8b4707755864a0492Ying Wang};
529951a39d68df598db08dfced8b4707755864a0492Ying Wang
530951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_EV_LCP_LEN (sizeof(struct iw_event) - sizeof(union iwreq_data))
531951a39d68df598db08dfced8b4707755864a0492Ying Wang
532951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_EV_CHAR_LEN (IW_EV_LCP_LEN + IFNAMSIZ)
533951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_EV_UINT_LEN (IW_EV_LCP_LEN + sizeof(__u32))
534951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_EV_FREQ_LEN (IW_EV_LCP_LEN + sizeof(struct iw_freq))
535951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_EV_PARAM_LEN (IW_EV_LCP_LEN + sizeof(struct iw_param))
536951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_EV_ADDR_LEN (IW_EV_LCP_LEN + sizeof(struct sockaddr))
537951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_EV_QUAL_LEN (IW_EV_LCP_LEN + sizeof(struct iw_quality))
538951a39d68df598db08dfced8b4707755864a0492Ying Wang
539951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_EV_POINT_OFF (((char *) &(((struct iw_point *) NULL)->length)) -   (char *) NULL)
540951a39d68df598db08dfced8b4707755864a0492Ying Wang#define IW_EV_POINT_LEN (IW_EV_LCP_LEN + sizeof(struct iw_point) -   IW_EV_POINT_OFF)
541951a39d68df598db08dfced8b4707755864a0492Ying Wang
542951a39d68df598db08dfced8b4707755864a0492Ying Wang#endif
543