📄 ieee80211_ioctl.h
字号:
u_int8_t isi_athflags; /* Atheros capabilities */ u_int8_t isi_erp; /* ERP element */ u_int8_t isi_macaddr[IEEE80211_ADDR_LEN]; u_int8_t isi_nrates; /* negotiated rates */ u_int8_t isi_rates[IEEE80211_RATE_MAXSIZE]; u_int8_t isi_txrate; /* index to isi_rates[] */ u_int16_t isi_ie_len; /* IE length */ u_int16_t isi_associd; /* assoc response */ u_int16_t isi_txpower; /* current tx power */ u_int16_t isi_vlan; /* vlan tag */ u_int16_t isi_txseqs[17]; /* seq to be transmitted */ u_int16_t isi_rxseqs[17]; /* seq previous for qos frames*/ u_int16_t isi_inact; /* inactivity timer */ u_int8_t isi_uapsd; /* UAPSD queues */ u_int8_t isi_opmode; /* sta operating mode */ /* XXX frag state? */ /* variable length IE data */};enum { IEEE80211_STA_OPMODE_NORMAL, IEEE80211_STA_OPMODE_XR};/* * Retrieve per-station information; to retrieve all * specify a mac address of ff:ff:ff:ff:ff:ff. */struct ieee80211req_sta_req { union { /* NB: explicitly force 64-bit alignment */ u_int8_t macaddr[IEEE80211_ADDR_LEN]; u_int64_t pad; } is_u; struct ieee80211req_sta_info info[1]; /* variable length */};/* * Get/set per-station tx power cap. */struct ieee80211req_sta_txpow { u_int8_t it_macaddr[IEEE80211_ADDR_LEN]; u_int8_t it_txpow;};/* * WME parameters are set and return using i_val and i_len. * i_val holds the value itself. i_len specifies the AC * and, as appropriate, then high bit specifies whether the * operation is to be applied to the BSS or ourself. */#define IEEE80211_WMEPARAM_SELF 0x0000 /* parameter applies to self */#define IEEE80211_WMEPARAM_BSS 0x8000 /* parameter applies to BSS */#define IEEE80211_WMEPARAM_VAL 0x7fff /* parameter value *//* * Scan result data returned for IEEE80211_IOC_SCAN_RESULTS. */struct ieee80211req_scan_result { u_int16_t isr_len; /* length (mult of 4) */ u_int16_t isr_freq; /* MHz */ u_int16_t isr_flags; /* channel flags */ u_int8_t isr_noise; u_int8_t isr_rssi; u_int8_t isr_intval; /* beacon interval */ u_int16_t isr_capinfo; /* capabilities */ u_int8_t isr_erp; /* ERP element */ u_int8_t isr_bssid[IEEE80211_ADDR_LEN]; u_int8_t isr_nrates; u_int8_t isr_rates[IEEE80211_RATE_MAXSIZE]; u_int8_t isr_ssid_len; /* SSID length */ u_int8_t isr_ie_len; /* IE length */ u_int8_t isr_pad[5]; /* variable length SSID followed by IE data */};#ifdef __FreeBSD__/* * FreeBSD-style ioctls. *//* the first member must be matched with struct ifreq */struct ieee80211req { char i_name[IFNAMSIZ]; /* if_name, e.g. "wi0" */ u_int16_t i_type; /* req type */ int16_t i_val; /* Index or simple value */ int16_t i_len; /* Index or simple value */ void *i_data; /* Extra data */};#define SIOCS80211 _IOW('i', 234, struct ieee80211req)#define SIOCG80211 _IOWR('i', 235, struct ieee80211req)#define SIOCG80211STATS _IOWR('i', 236, struct ifreq)#define SIOC80211IFCREATE _IOWR('i', 237, struct ifreq)#define SIOC80211IFDESTROY _IOW('i', 238, struct ifreq)#define IEEE80211_IOC_SSID 1#define IEEE80211_IOC_NUMSSIDS 2#define IEEE80211_IOC_WEP 3#define IEEE80211_WEP_NOSUP -1#define IEEE80211_WEP_OFF 0#define IEEE80211_WEP_ON 1#define IEEE80211_WEP_MIXED 2#define IEEE80211_IOC_WEPKEY 4#define IEEE80211_IOC_NUMWEPKEYS 5#define IEEE80211_IOC_WEPTXKEY 6#define IEEE80211_IOC_AUTHMODE 7#define IEEE80211_IOC_STATIONNAME 8#define IEEE80211_IOC_CHANNEL 9#define IEEE80211_IOC_POWERSAVE 10#define IEEE80211_POWERSAVE_NOSUP -1#define IEEE80211_POWERSAVE_OFF 0#define IEEE80211_POWERSAVE_CAM 1#define IEEE80211_POWERSAVE_PSP 2#define IEEE80211_POWERSAVE_PSP_CAM 3#define IEEE80211_POWERSAVE_ON IEEE80211_POWERSAVE_CAM#define IEEE80211_IOC_POWERSAVESLEEP 11#define IEEE80211_IOC_RTSTHRESHOLD 12#define IEEE80211_IOC_PROTMODE 13#define IEEE80211_PROTMODE_OFF 0#define IEEE80211_PROTMODE_CTS 1#define IEEE80211_PROTMODE_RTSCTS 2#define IEEE80211_IOC_TXPOWER 14 /* global tx power limit */#define IEEE80211_IOC_BSSID 15#define IEEE80211_IOC_ROAMING 16 /* roaming mode */#define IEEE80211_IOC_PRIVACY 17 /* privacy invoked */#define IEEE80211_IOC_DROPUNENCRYPTED 18 /* discard unencrypted frames */#define IEEE80211_IOC_WPAKEY 19#define IEEE80211_IOC_DELKEY 20#define IEEE80211_IOC_MLME 21#define IEEE80211_IOC_OPTIE 22 /* optional info. element */#define IEEE80211_IOC_SCAN_REQ 23#define IEEE80211_IOC_SCAN_RESULTS 24#define IEEE80211_IOC_COUNTERMEASURES 25 /* WPA/TKIP countermeasures */#define IEEE80211_IOC_WPA 26 /* WPA mode (0,1,2) */#define IEEE80211_IOC_CHANLIST 27 /* channel list */#define IEEE80211_IOC_WME 28 /* WME mode (on, off) */#define IEEE80211_IOC_HIDESSID 29 /* hide SSID mode (on, off) */#define IEEE80211_IOC_APBRIDGE 30 /* AP inter-sta bridging */#define IEEE80211_IOC_MCASTCIPHER 31 /* multicast/default cipher */#define IEEE80211_IOC_MCASTKEYLEN 32 /* multicast key length */#define IEEE80211_IOC_UCASTCIPHERS 33 /* unicast cipher suites */#define IEEE80211_IOC_UCASTCIPHER 34 /* unicast cipher */#define IEEE80211_IOC_UCASTKEYLEN 35 /* unicast key length */#define IEEE80211_IOC_DRIVER_CAPS 36 /* driver capabilities */#define IEEE80211_IOC_KEYMGTALGS 37 /* key management algorithms */#define IEEE80211_IOC_RSNCAPS 38 /* RSN capabilities */#define IEEE80211_IOC_WPAIE 39 /* WPA information element */#define IEEE80211_IOC_STA_STATS 40 /* per-station statistics */#define IEEE80211_IOC_MACCMD 41 /* MAC ACL operation */#define IEEE80211_IOC_TXPOWMAX 43 /* max tx power for channel */#define IEEE80211_IOC_STA_TXPOW 44 /* per-station tx power limit */#define IEEE80211_IOC_STA_INFO 45 /* station/neighbor info */#define IEEE80211_IOC_WME_CWMIN 46 /* WME: ECWmin */#define IEEE80211_IOC_WME_CWMAX 47 /* WME: ECWmax */#define IEEE80211_IOC_WME_AIFS 48 /* WME: AIFSN */#define IEEE80211_IOC_WME_TXOPLIMIT 49 /* WME: txops limit */#define IEEE80211_IOC_WME_ACM 50 /* WME: ACM (bss only) */#define IEEE80211_IOC_WME_ACKPOLICY 51 /* WME: ACK policy (!bss only)*/#define IEEE80211_IOC_DTIM_PERIOD 52 /* DTIM period (beacons) */#define IEEE80211_IOC_BEACON_INTERVAL 53 /* beacon interval (ms) */#define IEEE80211_IOC_ADDMAC 54 /* add sta to MAC ACL table */#define IEEE80211_IOC_DELMAC 55 /* del sta from MAC ACL table */#define IEEE80211_IOC_FF 56 /* ATH fast frames (on, off) */#define IEEE80211_IOC_TURBOP 57 /* ATH turbo' (on, off) *//* * Scan result data returned for IEEE80211_IOC_SCAN_RESULTS. */struct ieee80211req_scan_result { u_int16_t isr_len; /* length (mult of 4) */ u_int16_t isr_freq; /* MHz */ u_int16_t isr_flags; /* channel flags */ u_int8_t isr_noise; u_int8_t isr_rssi; u_int8_t isr_intval; /* beacon interval */ u_int16_t isr_capinfo; /* capabilities */ u_int8_t isr_erp; /* ERP element */ u_int8_t isr_bssid[IEEE80211_ADDR_LEN]; u_int8_t isr_nrates; u_int8_t isr_rates[IEEE80211_RATE_MAXSIZE]; u_int8_t isr_ssid_len; /* SSID length */ u_int8_t isr_ie_len; /* IE length */ u_int8_t isr_pad[5]; /* variable length SSID followed by IE data */};#endif /* __FreeBSD__ */#ifdef __linux__/* * Wireless Extensions API, private ioctl interfaces. * * NB: Even-numbered ioctl numbers have set semantics and are privileged! * (regardless of the incorrect comment in wireless.h!) */#ifdef __KERNEL__#include <linux/if.h>#endif#define IEEE80211_IOCTL_SETPARAM (SIOCIWFIRSTPRIV+0)#define IEEE80211_IOCTL_GETPARAM (SIOCIWFIRSTPRIV+1)#define IEEE80211_IOCTL_SETMODE (SIOCIWFIRSTPRIV+2)#define IEEE80211_IOCTL_GETMODE (SIOCIWFIRSTPRIV+3)#define IEEE80211_IOCTL_SETWMMPARAMS (SIOCIWFIRSTPRIV+4)#define IEEE80211_IOCTL_GETWMMPARAMS (SIOCIWFIRSTPRIV+5)#define IEEE80211_IOCTL_SETCHANLIST (SIOCIWFIRSTPRIV+6)#define IEEE80211_IOCTL_GETCHANLIST (SIOCIWFIRSTPRIV+7)#define IEEE80211_IOCTL_CHANSWITCH (SIOCIWFIRSTPRIV+8)#define IEEE80211_IOCTL_GETCHANINFO (SIOCIWFIRSTPRIV+13)#define IEEE80211_IOCTL_SETOPTIE (SIOCIWFIRSTPRIV+14)#define IEEE80211_IOCTL_GETOPTIE (SIOCIWFIRSTPRIV+15)#define IEEE80211_IOCTL_SETMLME (SIOCIWFIRSTPRIV+16)#define IEEE80211_IOCTL_SETKEY (SIOCIWFIRSTPRIV+18)#define IEEE80211_IOCTL_DELKEY (SIOCIWFIRSTPRIV+20)#define IEEE80211_IOCTL_ADDMAC (SIOCIWFIRSTPRIV+22)#define IEEE80211_IOCTL_DELMAC (SIOCIWFIRSTPRIV+24)#define IEEE80211_IOCTL_WDSADDMAC (SIOCIWFIRSTPRIV+26)#define IEEE80211_IOCTL_WDSDELMAC (SIOCIWFIRSTPRIV+28)#define IEEE80211_IOCTL_KICKMAC (SIOCIWFIRSTPRIV+30)enum { IEEE80211_WMMPARAMS_CWMIN = 1, IEEE80211_WMMPARAMS_CWMAX = 2, IEEE80211_WMMPARAMS_AIFS = 3, IEEE80211_WMMPARAMS_TXOPLIMIT = 4, IEEE80211_WMMPARAMS_ACM = 5, IEEE80211_WMMPARAMS_NOACKPOLICY = 6, };enum { IEEE80211_PARAM_TURBO = 1, /* turbo mode */ IEEE80211_PARAM_MODE = 2, /* phy mode (11a, 11b, etc.) */ IEEE80211_PARAM_AUTHMODE = 3, /* authentication mode */ IEEE80211_PARAM_PROTMODE = 4, /* 802.11g protection */ IEEE80211_PARAM_MCASTCIPHER = 5, /* multicast/default cipher */ IEEE80211_PARAM_MCASTKEYLEN = 6, /* multicast key length */ IEEE80211_PARAM_UCASTCIPHERS = 7, /* unicast cipher suites */ IEEE80211_PARAM_UCASTCIPHER = 8, /* unicast cipher */ IEEE80211_PARAM_UCASTKEYLEN = 9, /* unicast key length */ IEEE80211_PARAM_WPA = 10, /* WPA mode (0,1,2) */ IEEE80211_PARAM_ROAMING = 12, /* roaming mode */ IEEE80211_PARAM_PRIVACY = 13, /* privacy invoked */ IEEE80211_PARAM_COUNTERMEASURES = 14, /* WPA/TKIP countermeasures */ IEEE80211_PARAM_DROPUNENCRYPTED = 15, /* discard unencrypted frames */ IEEE80211_PARAM_DRIVER_CAPS = 16, /* driver capabilities */ IEEE80211_PARAM_MACCMD = 17, /* MAC ACL operation */ IEEE80211_PARAM_WMM = 18, /* WMM mode (on, off) */ IEEE80211_PARAM_HIDESSID = 19, /* hide SSID mode (on, off) */ IEEE80211_PARAM_APBRIDGE = 20, /* AP inter-sta bridging */ IEEE80211_PARAM_KEYMGTALGS = 21, /* key management algorithms */ IEEE80211_PARAM_RSNCAPS = 22, /* RSN capabilities */ IEEE80211_PARAM_INACT = 23, /* station inactivity timeout */ IEEE80211_PARAM_INACT_AUTH = 24, /* station auth inact timeout */ IEEE80211_PARAM_INACT_INIT = 25, /* station init inact timeout */ IEEE80211_PARAM_ABOLT = 26, /* Atheros Adv. Capabilities */ IEEE80211_PARAM_DTIM_PERIOD = 28, /* DTIM period (beacons) */ IEEE80211_PARAM_BEACON_INTERVAL = 29, /* beacon interval (ms) */ IEEE80211_PARAM_DOTH = 30, /* 11.h is on/off */ IEEE80211_PARAM_PWRTARGET = 31, /* Current Channel Pwr Constraint */ IEEE80211_PARAM_GENREASSOC = 32, /* Generate a reassociation request */ IEEE80211_PARAM_COMPRESSION = 33, /* compression */ IEEE80211_PARAM_FF = 34, /* fast frames support */ IEEE80211_PARAM_XR = 35, /* XR support */ IEEE80211_PARAM_BURST = 36, /* burst mode */ IEEE80211_PARAM_PUREG = 37, /* pure 11g (no 11b stations) */ IEEE80211_PARAM_AR = 38, /* AR support */ IEEE80211_PARAM_WDS = 39, /* Enable 4 address processing */ IEEE80211_PARAM_BGSCAN = 40, /* bg scanning (on, off) */ IEEE80211_PARAM_BGSCAN_IDLE = 41, /* bg scan idle threshold */ IEEE80211_PARAM_BGSCAN_INTERVAL = 42, /* bg scan interval */ IEEE80211_PARAM_MCAST_RATE = 43, /* Multicast Tx Rate */ IEEE80211_PARAM_COVERAGE_CLASS = 44, /* coverage class */ IEEE80211_PARAM_COUNTRY_IE = 45, /* enable country IE */ IEEE80211_PARAM_SCANVALID = 46, /* scan cache valid threshold */ IEEE80211_PARAM_ROAM_RSSI_11A = 47, /* rssi threshold in 11a */ IEEE80211_PARAM_ROAM_RSSI_11B = 48, /* rssi threshold in 11b */ IEEE80211_PARAM_ROAM_RSSI_11G = 49, /* rssi threshold in 11g */ IEEE80211_PARAM_ROAM_RATE_11A = 50, /* tx rate threshold in 11a */ IEEE80211_PARAM_ROAM_RATE_11B = 51, /* tx rate threshold in 11b */ IEEE80211_PARAM_ROAM_RATE_11G = 52, /* tx rate threshold in 11g */ IEEE80211_PARAM_UAPSDINFO = 53, /* value for qos info field */ IEEE80211_PARAM_SLEEP = 54, /* force sleep/wake */ IEEE80211_PARAM_QOSNULL = 55, /* force sleep/wake */ IEEE80211_PARAM_PSPOLL = 56, /* force ps-poll generation (sta only) */ IEEE80211_PARAM_EOSPDROP = 57, /* force uapsd EOSP drop (ap only) */ IEEE80211_PARAM_MARKDFS = 58, /* mark a dfs interference channel when found */ IEEE80211_PARAM_REGCLASS = 59, /* enable regclass ids in country IE */ IEEE80211_PARAM_DROPUNENC_EAPOL = 60, /* drop unencrypted eapol frames */};#define SIOCG80211STATS (SIOCDEVPRIVATE+2)/* NB: require in+out parameters so cannot use wireless extensions, yech */#define IEEE80211_IOCTL_GETKEY (SIOCDEVPRIVATE+3)#define IEEE80211_IOCTL_GETWPAIE (SIOCDEVPRIVATE+4)#define IEEE80211_IOCTL_STA_STATS (SIOCDEVPRIVATE+5)#define IEEE80211_IOCTL_STA_INFO (SIOCDEVPRIVATE+6)#define SIOC80211IFCREATE (SIOCDEVPRIVATE+7)#define SIOC80211IFDESTROY (SIOCDEVPRIVATE+8)#define IEEE80211_IOCTL_SCAN_RESULTS (SIOCDEVPRIVATE+9)struct ieee80211_clone_params { char icp_name[IFNAMSIZ]; /* device name */ u_int16_t icp_opmode; /* operating mode */ u_int16_t icp_flags; /* see below */#define IEEE80211_CLONE_BSSID 0x0001 /* allocate unique mac/bssid */#define IEEE80211_NO_STABEACONS 0x0002 /* Do not setup the station beacon timers */};#endif /* __linux__ */#endif /* _NET80211_IEEE80211_IOCTL_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -