mirror of
https://github.com/vanhoefm/fragattacks.git
synced 2024-11-25 08:48:31 -05:00
wext: Sync with linux/wireless.h from wireless-testing.git
This updates the Linux wireless extensions header file to be based on the latest version (22).
This commit is contained in:
parent
43a26f606c
commit
47c64bfcc7
@ -1,4 +1,4 @@
|
||||
/* This is based on Linux Wireless Extensions header file from WIRELESS_EXT 18.
|
||||
/* This is based on Linux Wireless Extensions header file from WIRELESS_EXT 22.
|
||||
* I have just removed kernel related headers and added some typedefs etc. to
|
||||
* make this easier to include into user space programs.
|
||||
* Jouni Malinen, 2005-03-12.
|
||||
@ -8,10 +8,10 @@
|
||||
/*
|
||||
* This file define a set of standard wireless extensions
|
||||
*
|
||||
* Version : 19 18.3.05
|
||||
* Version : 22 16.3.07
|
||||
*
|
||||
* Authors : Jean Tourrilhes - HPL - <jt@hpl.hp.com>
|
||||
* Copyright (c) 1997-2005 Jean Tourrilhes, All Rights Reserved.
|
||||
* Copyright (c) 1997-2007 Jean Tourrilhes, All Rights Reserved.
|
||||
*/
|
||||
|
||||
#ifndef _LINUX_WIRELESS_H
|
||||
@ -78,9 +78,7 @@
|
||||
|
||||
/* jkm - replaced linux headers with C library headers, added typedefs */
|
||||
#if 0
|
||||
/* To minimise problems in user space, I might remove those headers
|
||||
* at some point. Jean II */
|
||||
#include <linux/types.h> /* for "caddr_t" et al */
|
||||
#include <linux/types.h> /* for __u* and __s* typedefs */
|
||||
#include <linux/socket.h> /* for "struct sockaddr" et al */
|
||||
#include <linux/if.h> /* for IFNAMSIZ and co... */
|
||||
#else
|
||||
@ -103,7 +101,7 @@ typedef __uint8_t __u8;
|
||||
* (there is some stuff that will be added in the future...)
|
||||
* I just plan to increment with each new version.
|
||||
*/
|
||||
#define WIRELESS_EXT 19
|
||||
#define WIRELESS_EXT 22
|
||||
|
||||
/*
|
||||
* Changes :
|
||||
@ -227,6 +225,22 @@ typedef __uint8_t __u8;
|
||||
* - Add IW_QUAL_ALL_UPDATED and IW_QUAL_ALL_INVALID macros
|
||||
* - Add explicit flag to tell stats are in dBm : IW_QUAL_DBM
|
||||
* - Add IW_IOCTL_IDX() and IW_EVENT_IDX() macros
|
||||
*
|
||||
* V19 to V20
|
||||
* ----------
|
||||
* - RtNetlink requests support (SET/GET)
|
||||
*
|
||||
* V20 to V21
|
||||
* ----------
|
||||
* - Remove (struct net_device *)->get_wireless_stats()
|
||||
* - Change length in ESSID and NICK to strlen() instead of strlen()+1
|
||||
* - Add IW_RETRY_SHORT/IW_RETRY_LONG retry modifiers
|
||||
* - Power/Retry relative values no longer * 100000
|
||||
* - Add explicit flag to tell stats are in 802.11k RCPI : IW_QUAL_RCPI
|
||||
*
|
||||
* V21 to V22
|
||||
* ----------
|
||||
* - Prevent leaking of kernel space in stream on 64 bits.
|
||||
*/
|
||||
|
||||
/**************************** CONSTANTS ****************************/
|
||||
@ -340,7 +354,7 @@ typedef __uint8_t __u8;
|
||||
* separate range because of collisions with other tools such as
|
||||
* 'mii-tool'.
|
||||
* We now have 32 commands, so a bit more space ;-).
|
||||
* Also, all 'odd' commands are only usable by root and don't return the
|
||||
* Also, all 'even' commands are only usable by root and don't return the
|
||||
* content of ifr/iwr to user (but you are not obliged to use the set/get
|
||||
* convention, just use every other two command). More details in iwpriv.c.
|
||||
* And I repeat : you are not forced to use them with iwpriv, but you
|
||||
@ -353,8 +367,10 @@ typedef __uint8_t __u8;
|
||||
#define SIOCIWFIRST 0x8B00
|
||||
#define SIOCIWLAST SIOCIWLASTPRIV /* 0x8BFF */
|
||||
#define IW_IOCTL_IDX(cmd) ((cmd) - SIOCIWFIRST)
|
||||
#define IW_HANDLER(id, func) \
|
||||
[IW_IOCTL_IDX(id)] = func
|
||||
|
||||
/* Even : get (world access), odd : set (root access) */
|
||||
/* Odd : get (world access), even : set (root access) */
|
||||
#define IW_IS_SET(cmd) (!((cmd) & 0x1))
|
||||
#define IW_IS_GET(cmd) ((cmd) & 0x1)
|
||||
|
||||
@ -457,6 +473,7 @@ typedef __uint8_t __u8;
|
||||
#define IW_MODE_REPEAT 4 /* Wireless Repeater (forwarder) */
|
||||
#define IW_MODE_SECOND 5 /* Secondary master/repeater (backup) */
|
||||
#define IW_MODE_MONITOR 6 /* Passive monitor (listen only) */
|
||||
#define IW_MODE_MESH 7 /* Mesh (IEEE 802.11s) network */
|
||||
|
||||
/* Statistics flags (bitmask in updated) */
|
||||
#define IW_QUAL_QUAL_UPDATED 0x01 /* Value was updated since last read */
|
||||
@ -467,6 +484,7 @@ typedef __uint8_t __u8;
|
||||
#define IW_QUAL_QUAL_INVALID 0x10 /* Driver doesn't provide value */
|
||||
#define IW_QUAL_LEVEL_INVALID 0x20
|
||||
#define IW_QUAL_NOISE_INVALID 0x40
|
||||
#define IW_QUAL_RCPI 0x80 /* Level + Noise are 802.11k RCPI */
|
||||
#define IW_QUAL_ALL_INVALID 0x70
|
||||
|
||||
/* Frequency flags */
|
||||
@ -519,10 +537,12 @@ typedef __uint8_t __u8;
|
||||
#define IW_RETRY_TYPE 0xF000 /* Type of parameter */
|
||||
#define IW_RETRY_LIMIT 0x1000 /* Maximum number of retries*/
|
||||
#define IW_RETRY_LIFETIME 0x2000 /* Maximum duration of retries in us */
|
||||
#define IW_RETRY_MODIFIER 0x000F /* Modify a parameter */
|
||||
#define IW_RETRY_MODIFIER 0x00FF /* Modify a parameter */
|
||||
#define IW_RETRY_MIN 0x0001 /* Value is a minimum */
|
||||
#define IW_RETRY_MAX 0x0002 /* Value is a maximum */
|
||||
#define IW_RETRY_RELATIVE 0x0004 /* Value is not in seconds/ms/us */
|
||||
#define IW_RETRY_SHORT 0x0010 /* Value is for short packets */
|
||||
#define IW_RETRY_LONG 0x0020 /* Value is for long packets */
|
||||
|
||||
/* Scanning request flags */
|
||||
#define IW_SCAN_DEFAULT 0x0000 /* Default scan of the driver */
|
||||
@ -540,6 +560,16 @@ typedef __uint8_t __u8;
|
||||
/* Maximum size of returned data */
|
||||
#define IW_SCAN_MAX_DATA 4096 /* In bytes */
|
||||
|
||||
/* Scan capability flags - in (struct iw_range *)->scan_capa */
|
||||
#define IW_SCAN_CAPA_NONE 0x00
|
||||
#define IW_SCAN_CAPA_ESSID 0x01
|
||||
#define IW_SCAN_CAPA_BSSID 0x02
|
||||
#define IW_SCAN_CAPA_CHANNEL 0x04
|
||||
#define IW_SCAN_CAPA_MODE 0x08
|
||||
#define IW_SCAN_CAPA_RATE 0x10
|
||||
#define IW_SCAN_CAPA_TYPE 0x20
|
||||
#define IW_SCAN_CAPA_TIME 0x40
|
||||
|
||||
/* Max number of char in custom event - use multiple of them if needed */
|
||||
#define IW_CUSTOM_MAX 256 /* In bytes */
|
||||
|
||||
@ -549,6 +579,8 @@ typedef __uint8_t __u8;
|
||||
/* MLME requests (SIOCSIWMLME / struct iw_mlme) */
|
||||
#define IW_MLME_DEAUTH 0
|
||||
#define IW_MLME_DISASSOC 1
|
||||
#define IW_MLME_AUTH 2
|
||||
#define IW_MLME_ASSOC 3
|
||||
|
||||
/* SIOCSIWAUTH/SIOCGIWAUTH struct iw_param flags */
|
||||
#define IW_AUTH_INDEX 0x0FFF
|
||||
@ -576,12 +608,14 @@ typedef __uint8_t __u8;
|
||||
#define IW_AUTH_WPA_VERSION_WPA 0x00000002
|
||||
#define IW_AUTH_WPA_VERSION_WPA2 0x00000004
|
||||
|
||||
/* IW_AUTH_PAIRWISE_CIPHER and IW_AUTH_GROUP_CIPHER values (bit field) */
|
||||
/* IW_AUTH_PAIRWISE_CIPHER, IW_AUTH_GROUP_CIPHER, and IW_AUTH_CIPHER_GROUP_MGMT
|
||||
* values (bit field) */
|
||||
#define IW_AUTH_CIPHER_NONE 0x00000001
|
||||
#define IW_AUTH_CIPHER_WEP40 0x00000002
|
||||
#define IW_AUTH_CIPHER_TKIP 0x00000004
|
||||
#define IW_AUTH_CIPHER_CCMP 0x00000008
|
||||
#define IW_AUTH_CIPHER_WEP104 0x00000010
|
||||
#define IW_AUTH_CIPHER_AES_CMAC 0x00000020
|
||||
|
||||
/* IW_AUTH_KEY_MGMT values (bit field) */
|
||||
#define IW_AUTH_KEY_MGMT_802_1X 1
|
||||
@ -637,7 +671,7 @@ typedef __uint8_t __u8;
|
||||
* 32 bit bitmasks. Note : 32 bits = 0x20 = 2^5. */
|
||||
#define IW_EVENT_CAPA_BASE(cmd) ((cmd >= SIOCIWFIRSTPRIV) ? \
|
||||
(cmd - SIOCIWFIRSTPRIV + 0x60) : \
|
||||
(cmd - SIOCSIWCOMMIT))
|
||||
(cmd - SIOCIWFIRST))
|
||||
#define IW_EVENT_CAPA_INDEX(cmd) (IW_EVENT_CAPA_BASE(cmd) >> 5)
|
||||
#define IW_EVENT_CAPA_MASK(cmd) (1 << (IW_EVENT_CAPA_BASE(cmd) & 0x1F))
|
||||
/* Event capability constants - event autogenerated by the kernel
|
||||
@ -676,6 +710,19 @@ struct iw_point
|
||||
__u16 flags; /* Optional params */
|
||||
};
|
||||
|
||||
#ifdef __KERNEL__
|
||||
#ifdef CONFIG_COMPAT
|
||||
|
||||
#include <linux/compat.h>
|
||||
|
||||
struct compat_iw_point {
|
||||
compat_caddr_t pointer;
|
||||
__u16 length;
|
||||
__u16 flags;
|
||||
};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* A frequency
|
||||
* For numbers lower than 10^9, we encode the number in 'm' and
|
||||
@ -970,6 +1017,9 @@ struct iw_range
|
||||
__u16 old_num_channels;
|
||||
__u8 old_num_frequency;
|
||||
|
||||
/* Scan capabilities */
|
||||
__u8 scan_capa; /* IW_SCAN_CAPA_* bit field */
|
||||
|
||||
/* Wireless event capability bitmasks */
|
||||
__u32 event_capa[6];
|
||||
|
||||
@ -1046,7 +1096,7 @@ struct iw_range
|
||||
/* Note : this frequency list doesn't need to fit channel numbers,
|
||||
* because each entry contain its channel index */
|
||||
|
||||
__u32 enc_capa; /* IW_ENC_CAPA_* bit field */
|
||||
__u32 enc_capa; /* IW_ENC_CAPA_* bit field */
|
||||
};
|
||||
|
||||
/*
|
||||
@ -1073,7 +1123,7 @@ struct iw_priv_args
|
||||
*/
|
||||
struct iw_event
|
||||
{
|
||||
__u16 len; /* Real lenght of this stuff */
|
||||
__u16 len; /* Real length of this stuff */
|
||||
__u16 cmd; /* Wireless IOCTL */
|
||||
union iwreq_data u; /* IOCTL fixed payload */
|
||||
};
|
||||
@ -1096,4 +1146,38 @@ struct iw_event
|
||||
#define IW_EV_POINT_LEN (IW_EV_LCP_LEN + sizeof(struct iw_point) - \
|
||||
IW_EV_POINT_OFF)
|
||||
|
||||
#ifdef __KERNEL__
|
||||
#ifdef CONFIG_COMPAT
|
||||
struct __compat_iw_event {
|
||||
__u16 len; /* Real length of this stuff */
|
||||
__u16 cmd; /* Wireless IOCTL */
|
||||
compat_caddr_t pointer;
|
||||
};
|
||||
#define IW_EV_COMPAT_LCP_LEN offsetof(struct __compat_iw_event, pointer)
|
||||
#define IW_EV_COMPAT_POINT_OFF offsetof(struct compat_iw_point, length)
|
||||
|
||||
/* Size of the various events for compat */
|
||||
#define IW_EV_COMPAT_CHAR_LEN (IW_EV_COMPAT_LCP_LEN + IFNAMSIZ)
|
||||
#define IW_EV_COMPAT_UINT_LEN (IW_EV_COMPAT_LCP_LEN + sizeof(__u32))
|
||||
#define IW_EV_COMPAT_FREQ_LEN (IW_EV_COMPAT_LCP_LEN + sizeof(struct iw_freq))
|
||||
#define IW_EV_COMPAT_PARAM_LEN (IW_EV_COMPAT_LCP_LEN + sizeof(struct iw_param))
|
||||
#define IW_EV_COMPAT_ADDR_LEN (IW_EV_COMPAT_LCP_LEN + sizeof(struct sockaddr))
|
||||
#define IW_EV_COMPAT_QUAL_LEN (IW_EV_COMPAT_LCP_LEN + sizeof(struct iw_quality))
|
||||
#define IW_EV_COMPAT_POINT_LEN \
|
||||
(IW_EV_COMPAT_LCP_LEN + sizeof(struct compat_iw_point) - \
|
||||
IW_EV_COMPAT_POINT_OFF)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* Size of the Event prefix when packed in stream */
|
||||
#define IW_EV_LCP_PK_LEN (4)
|
||||
/* Size of the various events when packed in stream */
|
||||
#define IW_EV_CHAR_PK_LEN (IW_EV_LCP_PK_LEN + IFNAMSIZ)
|
||||
#define IW_EV_UINT_PK_LEN (IW_EV_LCP_PK_LEN + sizeof(__u32))
|
||||
#define IW_EV_FREQ_PK_LEN (IW_EV_LCP_PK_LEN + sizeof(struct iw_freq))
|
||||
#define IW_EV_PARAM_PK_LEN (IW_EV_LCP_PK_LEN + sizeof(struct iw_param))
|
||||
#define IW_EV_ADDR_PK_LEN (IW_EV_LCP_PK_LEN + sizeof(struct sockaddr))
|
||||
#define IW_EV_QUAL_PK_LEN (IW_EV_LCP_PK_LEN + sizeof(struct iw_quality))
|
||||
#define IW_EV_POINT_PK_LEN (IW_EV_LCP_PK_LEN + 4)
|
||||
|
||||
#endif /* _LINUX_WIRELESS_H */
|
||||
|
Loading…
Reference in New Issue
Block a user