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