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