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