📄 wireless.18.h
字号:
* Managed mode if the driver * generates its own WPA/RSN IE. This * should be sent just before * IWEVREGISTERED event for the * association. */#define IWEVASSOCRESPIE 0x8C08 /* IEs used in (Re)Association * Response. The data includes id and * length fields and may contain more * than one IE. This may be sent * between IWEVASSOCREQIE and * IWEVREGISTERED events for the * association. */#define IWEVPMKIDCAND 0x8C09 /* PMKID candidate for RSN * pre-authentication * (struct iw_pmkid_cand) */#define IWEVFIRST 0x8C00/* ------------------------- PRIVATE INFO ------------------------- *//* * The following is used with SIOCGIWPRIV. It allow a driver to define * the interface (name, type of data) for its private ioctl. * Privates ioctl are SIOCIWFIRSTPRIV -> SIOCIWLASTPRIV */#define IW_PRIV_TYPE_MASK 0x7000 /* Type of arguments */#define IW_PRIV_TYPE_NONE 0x0000#define IW_PRIV_TYPE_BYTE 0x1000 /* Char as number */#define IW_PRIV_TYPE_CHAR 0x2000 /* Char as character */#define IW_PRIV_TYPE_INT 0x4000 /* 32 bits int */#define IW_PRIV_TYPE_FLOAT 0x5000 /* struct iw_freq */#define IW_PRIV_TYPE_ADDR 0x6000 /* struct sockaddr */#define IW_PRIV_SIZE_FIXED 0x0800 /* Variable or fixed number of args */#define IW_PRIV_SIZE_MASK 0x07FF /* Max number of those args *//* * Note : if the number of args is fixed and the size < 16 octets, * instead of passing a pointer we will put args in the iwreq struct... *//* ----------------------- OTHER CONSTANTS ----------------------- *//* Maximum frequencies in the range struct */#define IW_MAX_FREQUENCIES 32/* Note : if you have something like 80 frequencies, * don't increase this constant and don't fill the frequency list. * The user will be able to set by channel anyway... *//* Maximum bit rates in the range struct */#define IW_MAX_BITRATES 32/* Maximum tx powers in the range struct */#define IW_MAX_TXPOWER 8/* Note : if you more than 8 TXPowers, just set the max and min or * a few of them in the struct iw_range. *//* Maximum of address that you may set with SPY */#define IW_MAX_SPY 8/* Maximum of address that you may get in the list of access points in range */#define IW_MAX_AP 64/* Maximum size of the ESSID and NICKN strings */#define IW_ESSID_MAX_SIZE 32/* Modes of operation */#define IW_MODE_AUTO 0 /* Let the driver decides */#define IW_MODE_ADHOC 1 /* Single cell network */#define IW_MODE_INFRA 2 /* Multi cell network, roaming, ... */#define IW_MODE_MASTER 3 /* Synchronisation master or Access Point */#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) *//* Statistics flags (bitmask in updated) */#define IW_QUAL_QUAL_UPDATED 0x1 /* Value was updated since last read */#define IW_QUAL_LEVEL_UPDATED 0x2#define IW_QUAL_NOISE_UPDATED 0x4#define IW_QUAL_QUAL_INVALID 0x10 /* Driver doesn't provide value */#define IW_QUAL_LEVEL_INVALID 0x20#define IW_QUAL_NOISE_INVALID 0x40/* Frequency flags */#define IW_FREQ_AUTO 0x00 /* Let the driver decides */#define IW_FREQ_FIXED 0x01 /* Force a specific value *//* Maximum number of size of encoding token available * they are listed in the range structure */#define IW_MAX_ENCODING_SIZES 8/* Maximum size of the encoding token in bytes */#define IW_ENCODING_TOKEN_MAX 32 /* 256 bits (for now) *//* Flags for encoding (along with the token) */#define IW_ENCODE_INDEX 0x00FF /* Token index (if needed) */#define IW_ENCODE_FLAGS 0xFF00 /* Flags defined below */#define IW_ENCODE_MODE 0xF000 /* Modes defined below */#define IW_ENCODE_DISABLED 0x8000 /* Encoding disabled */#define IW_ENCODE_ENABLED 0x0000 /* Encoding enabled */#define IW_ENCODE_RESTRICTED 0x4000 /* Refuse non-encoded packets */#define IW_ENCODE_OPEN 0x2000 /* Accept non-encoded packets */#define IW_ENCODE_NOKEY 0x0800 /* Key is write only, so not present */#define IW_ENCODE_TEMP 0x0400 /* Temporary key *//* Power management flags available (along with the value, if any) */#define IW_POWER_ON 0x0000 /* No details... */#define IW_POWER_TYPE 0xF000 /* Type of parameter */#define IW_POWER_PERIOD 0x1000 /* Value is a period/duration of */#define IW_POWER_TIMEOUT 0x2000 /* Value is a timeout (to go asleep) */#define IW_POWER_MODE 0x0F00 /* Power Management mode */#define IW_POWER_UNICAST_R 0x0100 /* Receive only unicast messages */#define IW_POWER_MULTICAST_R 0x0200 /* Receive only multicast messages */#define IW_POWER_ALL_R 0x0300 /* Receive all messages though PM */#define IW_POWER_FORCE_S 0x0400 /* Force PM procedure for sending unicast */#define IW_POWER_REPEATER 0x0800 /* Repeat broadcast messages in PM period */#define IW_POWER_MODIFIER 0x000F /* Modify a parameter */#define IW_POWER_MIN 0x0001 /* Value is a minimum */#define IW_POWER_MAX 0x0002 /* Value is a maximum */#define IW_POWER_RELATIVE 0x0004 /* Value is not in seconds/ms/us *//* Transmit Power flags available */#define IW_TXPOW_TYPE 0x00FF /* Type of value */#define IW_TXPOW_DBM 0x0000 /* Value is in dBm */#define IW_TXPOW_MWATT 0x0001 /* Value is in mW */#define IW_TXPOW_RELATIVE 0x0002 /* Value is in arbitrary units */#define IW_TXPOW_RANGE 0x1000 /* Range of value between min/max *//* Retry limits and lifetime flags available */#define IW_RETRY_ON 0x0000 /* No details... */#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_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 *//* Scanning request flags */#define IW_SCAN_DEFAULT 0x0000 /* Default scan of the driver */#define IW_SCAN_ALL_ESSID 0x0001 /* Scan all ESSIDs */#define IW_SCAN_THIS_ESSID 0x0002 /* Scan only this ESSID */#define IW_SCAN_ALL_FREQ 0x0004 /* Scan all Frequencies */#define IW_SCAN_THIS_FREQ 0x0008 /* Scan only this Frequency */#define IW_SCAN_ALL_MODE 0x0010 /* Scan all Modes */#define IW_SCAN_THIS_MODE 0x0020 /* Scan only this Mode */#define IW_SCAN_ALL_RATE 0x0040 /* Scan all Bit-Rates */#define IW_SCAN_THIS_RATE 0x0080 /* Scan only this Bit-Rate *//* struct iw_scan_req scan_type */#define IW_SCAN_TYPE_ACTIVE 0#define IW_SCAN_TYPE_PASSIVE 1/* Maximum size of returned data */#define IW_SCAN_MAX_DATA 4096 /* In bytes *//* Max number of char in custom event - use multiple of them if needed */#define IW_CUSTOM_MAX 256 /* In bytes *//* Generic information element */#define IW_GENERIC_IE_MAX 1024/* MLME requests (SIOCSIWMLME / struct iw_mlme) */#define IW_MLME_DEAUTH 0#define IW_MLME_DISASSOC 1/* SIOCSIWAUTH/SIOCGIWAUTH struct iw_param flags */#define IW_AUTH_INDEX 0x0FFF#define IW_AUTH_FLAGS 0xF000/* SIOCSIWAUTH/SIOCGIWAUTH parameters (0 .. 4095) * (IW_AUTH_INDEX mask in struct iw_param flags; this is the index of the * parameter that is being set/get to; value will be read/written to * struct iw_param value field) */#define IW_AUTH_WPA_VERSION 0#define IW_AUTH_CIPHER_PAIRWISE 1#define IW_AUTH_CIPHER_GROUP 2#define IW_AUTH_KEY_MGMT 3#define IW_AUTH_TKIP_COUNTERMEASURES 4#define IW_AUTH_DROP_UNENCRYPTED 5#define IW_AUTH_80211_AUTH_ALG 6#define IW_AUTH_WPA_ENABLED 7#define IW_AUTH_RX_UNENCRYPTED_EAPOL 8#define IW_AUTH_ROAMING_CONTROL 9#define IW_AUTH_PRIVACY_INVOKED 10/* IW_AUTH_WPA_VERSION values (bit field) */#define IW_AUTH_WPA_VERSION_DISABLED 0x00000001#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) */#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/* IW_AUTH_KEY_MGMT values (bit field) */#define IW_AUTH_KEY_MGMT_802_1X 1#define IW_AUTH_KEY_MGMT_PSK 2/* IW_AUTH_80211_AUTH_ALG values (bit field) */#define IW_AUTH_ALG_OPEN_SYSTEM 0x00000001#define IW_AUTH_ALG_SHARED_KEY 0x00000002#define IW_AUTH_ALG_LEAP 0x00000004/* IW_AUTH_ROAMING_CONTROL values */#define IW_AUTH_ROAMING_ENABLE 0 /* driver/firmware based roaming */#define IW_AUTH_ROAMING_DISABLE 1 /* user space program used for roaming * control *//* SIOCSIWENCODEEXT definitions */#define IW_ENCODE_SEQ_MAX_SIZE 8/* struct iw_encode_ext ->alg */#define IW_ENCODE_ALG_NONE 0#define IW_ENCODE_ALG_WEP 1#define IW_ENCODE_ALG_TKIP 2#define IW_ENCODE_ALG_CCMP 3/* struct iw_encode_ext ->ext_flags */#define IW_ENCODE_EXT_TX_SEQ_VALID 0x00000001#define IW_ENCODE_EXT_RX_SEQ_VALID 0x00000002#define IW_ENCODE_EXT_GROUP_KEY 0x00000004#define IW_ENCODE_EXT_SET_TX_KEY 0x00000008/* IWEVMICHAELMICFAILURE : struct iw_michaelmicfailure ->flags */#define IW_MICFAILURE_KEY_ID 0x00000003 /* Key ID 0..3 */#define IW_MICFAILURE_GROUP 0x00000004#define IW_MICFAILURE_PAIRWISE 0x00000008#define IW_MICFAILURE_STAKEY 0x00000010#define IW_MICFAILURE_COUNT 0x00000060 /* 1 or 2 (0 = count not supported) *//* Bit field values for enc_capa in struct iw_range */#define IW_ENC_CAPA_WPA 0x00000001#define IW_ENC_CAPA_WPA2 0x00000002#define IW_ENC_CAPA_CIPHER_TKIP 0x00000004#define IW_ENC_CAPA_CIPHER_CCMP 0x00000008/* Event capability macros - in (struct iw_range *)->event_capa * Because we have more than 32 possible events, we use an array of * 32 bit bitmasks. Note : 32 bits = 0x20 = 2^5. */#define IW_EVENT_CAPA_BASE(cmd) ((cmd >= SIOCIWFIRSTPRIV) ? \ (cmd - SIOCIWFIRSTPRIV + 0x60) : \ (cmd - SIOCSIWCOMMIT))#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 * This list is valid for most 802.11 devices, customise as needed... */#define IW_EVENT_CAPA_K_0 (IW_EVENT_CAPA_MASK(0x8B04) | \ IW_EVENT_CAPA_MASK(0x8B06) | \ IW_EVENT_CAPA_MASK(0x8B1A))#define IW_EVENT_CAPA_K_1 (IW_EVENT_CAPA_MASK(0x8B2A))/* "Easy" macro to set events in iw_range (less efficient) */#define IW_EVENT_CAPA_SET(event_capa, cmd) (event_capa[IW_EVENT_CAPA_INDEX(cmd)] |= IW_EVENT_CAPA_MASK(cmd))#define IW_EVENT_CAPA_SET_KERNEL(event_capa) {event_capa[0] |= IW_EVENT_CAPA_K_0; event_capa[1] |= IW_EVENT_CAPA_K_1; }/****************************** TYPES ******************************//* --------------------------- SUBTYPES --------------------------- *//* * Generic format for most parameters that fit in an int */struct iw_param{ __s32 value; /* The value of the parameter itself */ __u8 fixed; /* Hardware should not use auto select */ __u8 disabled; /* Disable the feature */ __u16 flags; /* Various specifc flags (if any) */};/* * For all data larger than 16 octets, we need to use a * pointer to memory allocated in user space. */struct iw_point{ void __user *pointer; /* Pointer to the data (in user space) */ __u16 length; /* number of fields or size in bytes */ __u16 flags; /* Optional params */};/* * A frequency * For numbers lower than 10^9, we encode the number in 'm' and * set 'e' to 0 * For number greater than 10^9, we divide it by the lowest power * of 10 to get 'm' lower than 10^9, with 'm'= f / (10^'e')... * The power of 10 is in 'e', the result of the division is in 'm'. */struct iw_freq{ __s32 m; /* Mantissa */ __s16 e; /* Exponent */ __u8 i; /* List index (when in range struct) */ __u8 flags; /* Flags (fixed/auto) */};/* * Quality of the link */struct iw_quality{ __u8 qual; /* link quality (%retries, SNR, %missed beacons or better...) */ __u8 level; /* signal level (dBm) */ __u8 noise; /* noise level (dBm) */ __u8 updated; /* Flags to know if updated */};/* * Packet discarded in the wireless adapter due to * "wireless" specific problems... * Note : the list of counter and statistics in net_device_stats * is already pretty exhaustive, and you should use that first. * This is only additional stats... */struct iw_discarded{ __u32 nwid; /* Rx : Wrong nwid/essid */ __u32 code; /* Rx : Unable to code/decode (WEP) */ __u32 fragment; /* Rx : Can't perform MAC reassembly */ __u32 retries; /* Tx : Max MAC retries num reached */ __u32 misc; /* Others cases */};/* * Packet/Time period missed in the wireless adapter due to * "wireless" specific problems... */struct iw_missed{ __u32 beacon; /* Missed beacons/superframe */};/* * Quality range (for spy threshold) */struct iw_thrspy{ struct sockaddr addr; /* Source address (hw/mac) */ struct iw_quality qual; /* Quality of the link */ struct iw_quality low; /* Low threshold */ struct iw_quality high; /* High threshold */};/* * Optional data for scan request * * Note: these optional parameters are controlling parameters for the * scanning behavior, these do not apply to getting scan results
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -