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