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