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