111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/**************************************************************************** 211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert **************************************************************************** 311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** 411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** This header was automatically generated from a Linux kernel header 511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** of the same name, to make information necessary for userspace to 611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** call into the kernel available to libc. It contains only constants, 711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** structures, and macros generated from the original header, and thus, 811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** contains no copyrightable information. 911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert *** 1011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert **************************************************************************** 1111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************/ 1211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef _LINUX_WIRELESS_H 1311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _LINUX_WIRELESS_H 1411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 1511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <linux/types.h> 1611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <linux/socket.h> 1711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <linux/if.h> 1811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 1911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define WIRELESS_EXT 20 2011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 2111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCSIWCOMMIT 0x8B00 2211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCGIWNAME 0x8B01 2311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 2411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCSIWNWID 0x8B02 2511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCGIWNWID 0x8B03 2611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCSIWFREQ 0x8B04 2711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCGIWFREQ 0x8B05 2811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCSIWMODE 0x8B06 2911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCGIWMODE 0x8B07 3011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCSIWSENS 0x8B08 3111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCGIWSENS 0x8B09 3211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 3311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCSIWRANGE 0x8B0A 3411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCGIWRANGE 0x8B0B 3511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCSIWPRIV 0x8B0C 3611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCGIWPRIV 0x8B0D 3711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCSIWSTATS 0x8B0E 3811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCGIWSTATS 0x8B0F 3911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 4011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCSIWSPY 0x8B10 4111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCGIWSPY 0x8B11 4211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCSIWTHRSPY 0x8B12 4311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCGIWTHRSPY 0x8B13 4411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 4511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCSIWAP 0x8B14 4611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCGIWAP 0x8B15 4711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCGIWAPLIST 0x8B17 4811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCSIWSCAN 0x8B18 4911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCGIWSCAN 0x8B19 5011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 5111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCSIWESSID 0x8B1A 5211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCGIWESSID 0x8B1B 5311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCSIWNICKN 0x8B1C 5411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCGIWNICKN 0x8B1D 5511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 5611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCSIWRATE 0x8B20 5711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCGIWRATE 0x8B21 5811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCSIWRTS 0x8B22 5911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCGIWRTS 0x8B23 6011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCSIWFRAG 0x8B24 6111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCGIWFRAG 0x8B25 6211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCSIWTXPOW 0x8B26 6311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCGIWTXPOW 0x8B27 6411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCSIWRETRY 0x8B28 6511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCGIWRETRY 0x8B29 6611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 6711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCSIWENCODE 0x8B2A 6811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCGIWENCODE 0x8B2B 6911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 7011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCSIWPOWER 0x8B2C 7111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCGIWPOWER 0x8B2D 7211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 7311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCSIWGENIE 0x8B30 7411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCGIWGENIE 0x8B31 7511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 7611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCSIWMLME 0x8B16 7711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 7811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCSIWAUTH 0x8B32 7911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCGIWAUTH 0x8B33 8011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 8111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCSIWENCODEEXT 0x8B34 8211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCGIWENCODEEXT 0x8B35 8311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 8411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCSIWPMKSA 0x8B36 8511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 8611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCIWFIRSTPRIV 0x8BE0 8711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCIWLASTPRIV 0x8BFF 8811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 8911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCIWFIRST 0x8B00 9011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCIWLAST SIOCIWLASTPRIV 9111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_IOCTL_IDX(cmd) ((cmd) - SIOCIWFIRST) 9211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 9311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_IS_SET(cmd) (!((cmd) & 0x1)) 9411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_IS_GET(cmd) ((cmd) & 0x1) 9511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 9611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IWEVTXDROP 0x8C00 9711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IWEVQUAL 0x8C01 9811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IWEVCUSTOM 0x8C02 9911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IWEVREGISTERED 0x8C03 10011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IWEVEXPIRED 0x8C04 10111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IWEVGENIE 0x8C05 10211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IWEVMICHAELMICFAILURE 0x8C06 10311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IWEVASSOCREQIE 0x8C07 10411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IWEVASSOCRESPIE 0x8C08 10511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IWEVPMKIDCAND 0x8C09 10611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 10711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IWEVFIRST 0x8C00 10811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_EVENT_IDX(cmd) ((cmd) - IWEVFIRST) 10911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 11011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_PRIV_TYPE_MASK 0x7000 11111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_PRIV_TYPE_NONE 0x0000 11211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_PRIV_TYPE_BYTE 0x1000 11311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_PRIV_TYPE_CHAR 0x2000 11411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_PRIV_TYPE_INT 0x4000 11511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_PRIV_TYPE_FLOAT 0x5000 11611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_PRIV_TYPE_ADDR 0x6000 11711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 11811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_PRIV_SIZE_FIXED 0x0800 11911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 12011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_PRIV_SIZE_MASK 0x07FF 12111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 12211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_MAX_FREQUENCIES 32 12311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 12411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_MAX_BITRATES 32 12511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 12611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_MAX_TXPOWER 8 12711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 12811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_MAX_SPY 8 12911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 13011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_MAX_AP 64 13111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 13211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_ESSID_MAX_SIZE 32 13311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 13411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_MODE_AUTO 0 13511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_MODE_ADHOC 1 13611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_MODE_INFRA 2 13711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_MODE_MASTER 3 13811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_MODE_REPEAT 4 13911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_MODE_SECOND 5 14011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_MODE_MONITOR 6 14111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 14211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_QUAL_QUAL_UPDATED 0x01 14311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_QUAL_LEVEL_UPDATED 0x02 14411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_QUAL_NOISE_UPDATED 0x04 14511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_QUAL_ALL_UPDATED 0x07 14611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_QUAL_DBM 0x08 14711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_QUAL_QUAL_INVALID 0x10 14811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_QUAL_LEVEL_INVALID 0x20 14911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_QUAL_NOISE_INVALID 0x40 15011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_QUAL_ALL_INVALID 0x70 15111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 15211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_FREQ_AUTO 0x00 15311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_FREQ_FIXED 0x01 15411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 15511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_MAX_ENCODING_SIZES 8 15611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 15711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_ENCODING_TOKEN_MAX 64 15811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 15911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_ENCODE_INDEX 0x00FF 16011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_ENCODE_FLAGS 0xFF00 16111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_ENCODE_MODE 0xF000 16211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_ENCODE_DISABLED 0x8000 16311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_ENCODE_ENABLED 0x0000 16411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_ENCODE_RESTRICTED 0x4000 16511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_ENCODE_OPEN 0x2000 16611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_ENCODE_NOKEY 0x0800 16711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_ENCODE_TEMP 0x0400 16811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 16911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_POWER_ON 0x0000 17011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_POWER_TYPE 0xF000 17111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_POWER_PERIOD 0x1000 17211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_POWER_TIMEOUT 0x2000 17311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_POWER_MODE 0x0F00 17411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_POWER_UNICAST_R 0x0100 17511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_POWER_MULTICAST_R 0x0200 17611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_POWER_ALL_R 0x0300 17711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_POWER_FORCE_S 0x0400 17811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_POWER_REPEATER 0x0800 17911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_POWER_MODIFIER 0x000F 18011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_POWER_MIN 0x0001 18111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_POWER_MAX 0x0002 18211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_POWER_RELATIVE 0x0004 18311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 18411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_TXPOW_TYPE 0x00FF 18511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_TXPOW_DBM 0x0000 18611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_TXPOW_MWATT 0x0001 18711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_TXPOW_RELATIVE 0x0002 18811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_TXPOW_RANGE 0x1000 18911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 19011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_RETRY_ON 0x0000 19111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_RETRY_TYPE 0xF000 19211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_RETRY_LIMIT 0x1000 19311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_RETRY_LIFETIME 0x2000 19411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_RETRY_MODIFIER 0x000F 19511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_RETRY_MIN 0x0001 19611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_RETRY_MAX 0x0002 19711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_RETRY_RELATIVE 0x0004 19811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 19911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_SCAN_DEFAULT 0x0000 20011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_SCAN_ALL_ESSID 0x0001 20111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_SCAN_THIS_ESSID 0x0002 20211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_SCAN_ALL_FREQ 0x0004 20311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_SCAN_THIS_FREQ 0x0008 20411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_SCAN_ALL_MODE 0x0010 20511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_SCAN_THIS_MODE 0x0020 20611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_SCAN_ALL_RATE 0x0040 20711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_SCAN_THIS_RATE 0x0080 20811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 20911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_SCAN_TYPE_ACTIVE 0 21011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_SCAN_TYPE_PASSIVE 1 21111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 21211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_SCAN_MAX_DATA 4096 21311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 21411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_CUSTOM_MAX 256 21511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 21611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_GENERIC_IE_MAX 1024 21711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 21811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_MLME_DEAUTH 0 21911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_MLME_DISASSOC 1 22011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 22111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_AUTH_INDEX 0x0FFF 22211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_AUTH_FLAGS 0xF000 22311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 22411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_AUTH_WPA_VERSION 0 22511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_AUTH_CIPHER_PAIRWISE 1 22611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_AUTH_CIPHER_GROUP 2 22711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_AUTH_KEY_MGMT 3 22811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_AUTH_TKIP_COUNTERMEASURES 4 22911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_AUTH_DROP_UNENCRYPTED 5 23011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_AUTH_80211_AUTH_ALG 6 23111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_AUTH_WPA_ENABLED 7 23211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_AUTH_RX_UNENCRYPTED_EAPOL 8 23311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_AUTH_ROAMING_CONTROL 9 23411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_AUTH_PRIVACY_INVOKED 10 23511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 23611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_AUTH_WPA_VERSION_DISABLED 0x00000001 23711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_AUTH_WPA_VERSION_WPA 0x00000002 23811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_AUTH_WPA_VERSION_WPA2 0x00000004 23911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 24011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_AUTH_CIPHER_NONE 0x00000001 24111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_AUTH_CIPHER_WEP40 0x00000002 24211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_AUTH_CIPHER_TKIP 0x00000004 24311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_AUTH_CIPHER_CCMP 0x00000008 24411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_AUTH_CIPHER_WEP104 0x00000010 24511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 24611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_AUTH_KEY_MGMT_802_1X 1 24711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_AUTH_KEY_MGMT_PSK 2 24811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 24911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_AUTH_ALG_OPEN_SYSTEM 0x00000001 25011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_AUTH_ALG_SHARED_KEY 0x00000002 25111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_AUTH_ALG_LEAP 0x00000004 25211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 25311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_AUTH_ROAMING_ENABLE 0 25411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_AUTH_ROAMING_DISABLE 1 25511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 25611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_ENCODE_SEQ_MAX_SIZE 8 25711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 25811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_ENCODE_ALG_NONE 0 25911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_ENCODE_ALG_WEP 1 26011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_ENCODE_ALG_TKIP 2 26111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_ENCODE_ALG_CCMP 3 26211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 26311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_ENCODE_EXT_TX_SEQ_VALID 0x00000001 26411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_ENCODE_EXT_RX_SEQ_VALID 0x00000002 26511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_ENCODE_EXT_GROUP_KEY 0x00000004 26611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_ENCODE_EXT_SET_TX_KEY 0x00000008 26711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 26811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_MICFAILURE_KEY_ID 0x00000003 26911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_MICFAILURE_GROUP 0x00000004 27011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_MICFAILURE_PAIRWISE 0x00000008 27111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_MICFAILURE_STAKEY 0x00000010 27211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_MICFAILURE_COUNT 0x00000060 27311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 27411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_ENC_CAPA_WPA 0x00000001 27511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_ENC_CAPA_WPA2 0x00000002 27611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_ENC_CAPA_CIPHER_TKIP 0x00000004 27711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_ENC_CAPA_CIPHER_CCMP 0x00000008 27811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 27911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_EVENT_CAPA_BASE(cmd) ((cmd >= SIOCIWFIRSTPRIV) ? (cmd - SIOCIWFIRSTPRIV + 0x60) : (cmd - SIOCSIWCOMMIT)) 28011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_EVENT_CAPA_INDEX(cmd) (IW_EVENT_CAPA_BASE(cmd) >> 5) 28111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_EVENT_CAPA_MASK(cmd) (1 << (IW_EVENT_CAPA_BASE(cmd) & 0x1F)) 28211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 28311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_EVENT_CAPA_K_0 (IW_EVENT_CAPA_MASK(0x8B04) | IW_EVENT_CAPA_MASK(0x8B06) | IW_EVENT_CAPA_MASK(0x8B1A)) 28411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_EVENT_CAPA_K_1 (IW_EVENT_CAPA_MASK(0x8B2A)) 28511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 28611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_EVENT_CAPA_SET(event_capa, cmd) (event_capa[IW_EVENT_CAPA_INDEX(cmd)] |= IW_EVENT_CAPA_MASK(cmd)) 28711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_EVENT_CAPA_SET_KERNEL(event_capa) {event_capa[0] |= IW_EVENT_CAPA_K_0; event_capa[1] |= IW_EVENT_CAPA_K_1; } 28811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 28911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct iw_param 29011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{ 29111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s32 value; 29211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 fixed; 29311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 disabled; 29411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 flags; 29511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 29611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 29711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct iw_point 29811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{ 29911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert void __user *pointer; 30011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 length; 30111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 flags; 30211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 30311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 30411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct iw_freq 30511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{ 30611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s32 m; 30711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s16 e; 30811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 i; 30911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 flags; 31011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 31111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 31211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct iw_quality 31311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{ 31411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 qual; 31511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 level; 31611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 noise; 31711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 updated; 31811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 31911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 32011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct iw_discarded 32111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{ 32211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 nwid; 32311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 code; 32411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 fragment; 32511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 retries; 32611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 misc; 32711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 32811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 32911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct iw_missed 33011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{ 33111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 beacon; 33211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 33311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 33411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct iw_thrspy 33511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{ 33611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct sockaddr addr; 33711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct iw_quality qual; 33811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct iw_quality low; 33911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct iw_quality high; 34011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 34111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 34211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct iw_scan_req 34311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{ 34411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 scan_type; 34511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 essid_len; 34611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 num_channels; 34711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 flags; 34811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct sockaddr bssid; 34911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 35011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 essid[IW_ESSID_MAX_SIZE]; 35111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 35211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 min_channel_time; 35311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 max_channel_time; 35411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 35511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct iw_freq channel_list[IW_MAX_FREQUENCIES]; 35611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 35711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 35811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct iw_encode_ext 35911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{ 36011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 ext_flags; 36111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 tx_seq[IW_ENCODE_SEQ_MAX_SIZE]; 36211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 rx_seq[IW_ENCODE_SEQ_MAX_SIZE]; 36311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct sockaddr addr; 36411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 alg; 36511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 key_len; 36611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 key[0]; 36711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 36811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 36911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct iw_mlme 37011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{ 37111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 cmd; 37211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 reason_code; 37311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct sockaddr addr; 37411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 37511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 37611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_PMKSA_ADD 1 37711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_PMKSA_REMOVE 2 37811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_PMKSA_FLUSH 3 37911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 38011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_PMKID_LEN 16 38111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 38211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct iw_pmksa 38311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{ 38411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 cmd; 38511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct sockaddr bssid; 38611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 pmkid[IW_PMKID_LEN]; 38711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 38811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 38911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct iw_michaelmicfailure 39011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{ 39111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 flags; 39211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct sockaddr src_addr; 39311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 tsc[IW_ENCODE_SEQ_MAX_SIZE]; 39411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 39511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 39611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_PMKID_CAND_PREAUTH 0x00000001 39711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct iw_pmkid_cand 39811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{ 39911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 flags; 40011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 index; 40111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct sockaddr bssid; 40211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 40311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 40411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct iw_statistics 40511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{ 40611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 status; 40711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 40811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct iw_quality qual; 40911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct iw_discarded discard; 41011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct iw_missed miss; 41111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 41211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 41311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertunion iwreq_data 41411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{ 41511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 41611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char name[IFNAMSIZ]; 41711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 41811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct iw_point essid; 41911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct iw_param nwid; 42011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct iw_freq freq; 42111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 42211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct iw_param sens; 42311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct iw_param bitrate; 42411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct iw_param txpower; 42511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct iw_param rts; 42611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct iw_param frag; 42711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 mode; 42811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct iw_param retry; 42911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 43011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct iw_point encoding; 43111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct iw_param power; 43211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct iw_quality qual; 43311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 43411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct sockaddr ap_addr; 43511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct sockaddr addr; 43611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 43711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct iw_param param; 43811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct iw_point data; 43911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 44011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 44111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct iwreq 44211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{ 44311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert union 44411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert { 44511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char ifrn_name[IFNAMSIZ]; 44611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert } ifr_ifrn; 44711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 44811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert union iwreq_data u; 44911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 45011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 45111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct iw_range 45211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{ 45311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 45411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 throughput; 45511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 45611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 min_nwid; 45711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 max_nwid; 45811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 45911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 old_num_channels; 46011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 old_num_frequency; 46111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 46211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 event_capa[6]; 46311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 46411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s32 sensitivity; 46511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 46611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct iw_quality max_qual; 46711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 46811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct iw_quality avg_qual; 46911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 47011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 num_bitrates; 47111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s32 bitrate[IW_MAX_BITRATES]; 47211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 47311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s32 min_rts; 47411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s32 max_rts; 47511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 47611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s32 min_frag; 47711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s32 max_frag; 47811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 47911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s32 min_pmp; 48011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s32 max_pmp; 48111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s32 min_pmt; 48211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s32 max_pmt; 48311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 pmp_flags; 48411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 pmt_flags; 48511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 pm_capa; 48611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 48711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 encoding_size[IW_MAX_ENCODING_SIZES]; 48811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 num_encoding_sizes; 48911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 max_encoding_tokens; 49011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 49111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 encoding_login_index; 49211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 49311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 txpower_capa; 49411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 num_txpower; 49511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s32 txpower[IW_MAX_TXPOWER]; 49611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 49711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 we_version_compiled; 49811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 we_version_source; 49911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 50011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 retry_capa; 50111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 retry_flags; 50211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 r_time_flags; 50311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s32 min_retry; 50411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s32 max_retry; 50511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s32 min_r_time; 50611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __s32 max_r_time; 50711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 50811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 num_channels; 50911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 num_frequency; 51011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct iw_freq freq[IW_MAX_FREQUENCIES]; 51111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 51211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 enc_capa; 51311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 51411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 51511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct iw_priv_args 51611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{ 51711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 cmd; 51811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 set_args; 51911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 get_args; 52011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char name[IFNAMSIZ]; 52111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 52211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 52311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct iw_event 52411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert{ 52511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 len; 52611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 cmd; 52711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert union iwreq_data u; 52811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert}; 52911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 53011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_EV_LCP_LEN (sizeof(struct iw_event) - sizeof(union iwreq_data)) 53111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 53211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_EV_CHAR_LEN (IW_EV_LCP_LEN + IFNAMSIZ) 53311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_EV_UINT_LEN (IW_EV_LCP_LEN + sizeof(__u32)) 53411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_EV_FREQ_LEN (IW_EV_LCP_LEN + sizeof(struct iw_freq)) 53511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_EV_PARAM_LEN (IW_EV_LCP_LEN + sizeof(struct iw_param)) 53611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_EV_ADDR_LEN (IW_EV_LCP_LEN + sizeof(struct sockaddr)) 53711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_EV_QUAL_LEN (IW_EV_LCP_LEN + sizeof(struct iw_quality)) 53811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 53911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_EV_POINT_OFF (((char *) &(((struct iw_point *) NULL)->length)) - (char *) NULL) 54011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IW_EV_POINT_LEN (IW_EV_LCP_LEN + sizeof(struct iw_point) - IW_EV_POINT_OFF) 54111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert 54211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif 543