📄 ieee80211_var.h
字号:
int (*ic_reset)(struct net_device *); /* update device state for 802.11 slot time change */ void (*ic_updateslot)(struct net_device *); /* new station association callback/notification */ void (*ic_newassoc)(struct ieee80211_node *, int); /* node state management */ struct ieee80211_node *(*ic_node_alloc)(struct ieee80211_node_table *, struct ieee80211vap *); void (*ic_node_free)(struct ieee80211_node *); void (*ic_node_cleanup)(struct ieee80211_node *); u_int8_t (*ic_node_getrssi)(const struct ieee80211_node *); u_int8_t (*ic_node_move_data)(const struct ieee80211_node *); /* scanning support */ void (*ic_scan_start)(struct ieee80211com *); void (*ic_scan_end)(struct ieee80211com *); void (*ic_set_channel)(struct ieee80211com *); /* u-apsd support */ void (*ic_uapsd_flush)(struct ieee80211_node *); /* set coverage class */ void (*ic_set_coverageclass)(struct ieee80211com *); /* mhz to ieee conversion */ u_int (*ic_mhz2ieee)(struct ieee80211com *, u_int, u_int);};struct vlan_group;struct eapolcom;struct ieee80211_aclator;struct ieee80211_nsparams { enum ieee80211_state newstate; int arg; int result;};#define IW_MAX_SPY 8struct ieee80211_spy { u_int8_t mac[IW_MAX_SPY * IEEE80211_ADDR_LEN]; u_int32_t ts_rssi[IW_MAX_SPY]; /* ts of rssi value from last read */ u_int8_t thr_low; /* 1 byte rssi value, 0 = threshold is off */ u_int8_t thr_high; /* 1 byte rssi value */ u_int8_t num;};#define MAX_PROC_IEEE80211_SIZE 16383#define PROC_IEEE80211_PERM 0644struct proc_ieee80211_priv { int rlen; int max_rlen; char *rbuf; int wlen; int max_wlen; char *wbuf;};struct ieee80211_proc_entry { char *name; struct file_operations *fileops; struct proc_dir_entry *entry; struct ieee80211_proc_entry *next;};struct ieee80211_app_ie_t { u_int32_t length; /* buffer length */ struct ieee80211_ie *ie; /* buffer containing one or more IEs */};struct ieee80211vap { struct net_device *iv_dev; /* associated device */ struct net_device_stats iv_devstats; /* interface statistics */ struct ifmedia iv_media; /* interface media config */ struct iw_statistics iv_iwstats; /* wireless statistics block */ struct ctl_table_header *iv_sysctl_header; struct ctl_table *iv_sysctls; struct proc_dir_entry *iv_proc; struct ieee80211_proc_entry *iv_proc_entries; struct vlan_group *iv_vlgrp; /* vlan group state */ TAILQ_ENTRY(ieee80211vap) iv_next; /* list of vap instances */ u_int iv_unit; /* virtual AP unit */ struct ieee80211com *iv_ic; /* back ptr to common state */ u_int32_t iv_debug; /* debug msg flags */ struct ieee80211_stats iv_stats; /* statistics */ int iv_monitor_nods_only; /* in monitor mode only nods traffic */ int iv_monitor_txf_len; /* in monitor mode, truncate tx packets */ int iv_monitor_phy_errors; /* in monitor mode, accept phy errors */ int iv_monitor_crc_errors; /* in monitor mode, accept crc errors */ int (*iv_newstate)(struct ieee80211vap *, enum ieee80211_state, int); u_int8_t iv_myaddr[IEEE80211_ADDR_LEN]; u_int32_t iv_flags; /* state flags */ u_int32_t iv_flags_ext; /* extension of state flags */ u_int32_t iv_caps; /* capabilities */ u_int8_t iv_ath_cap; /* Atheros adv. capabilities */ enum ieee80211_opmode iv_opmode; /* operation mode */ enum ieee80211_state iv_state; /* state machine state */ struct timer_list iv_mgtsend; /* mgmt frame response timer */ /* inactivity timer settings */ int iv_inact_init; /* setting for new station */ int iv_inact_auth; /* auth but not assoc setting */ int iv_inact_run; /* authorized setting */ int iv_inact_probe; /* inactive probe time */ int iv_des_nssid; /* # desired ssids */ struct ieee80211_scan_ssid iv_des_ssid[1];/* desired ssid table */ u_int8_t iv_des_bssid[IEEE80211_ADDR_LEN]; struct ieee80211_channel *iv_des_chan; /* desired channel */ u_int16_t iv_des_mode; /* desired mode */ int iv_nicknamelen; /* XXX junk */ u_int8_t iv_nickname[IEEE80211_NWID_LEN]; u_int iv_bgscanidle; /* bg scan idle threshold */ u_int iv_bgscanintvl; /* bg scan min interval */ u_int iv_scanvalid; /* scan cache valid threshold */ struct ieee80211_roam iv_roam; /* sta-mode roaming state */ u_int32_t iv_csa_jiffies; /* last csa recv jiffies */ u_int8_t iv_csa_count; /* last csa count */ struct ieee80211_channel *iv_csa_chan; /* last csa channel */ u_int8_t iv_csa_mode; /* last csa mode */ struct timer_list iv_csa_timer; /* csa timer */ u_int32_t *iv_aid_bitmap; /* association id map */ u_int16_t iv_max_aid; u_int16_t iv_sta_assoc; /* stations associated */ u_int16_t iv_ps_sta; /* stations in power save */ u_int16_t iv_ps_pending; /* ps sta's w/ pending frames */ u_int8_t *iv_tim_bitmap; /* power-save stations w/ data*/ u_int16_t iv_tim_len; /* ic_tim_bitmap size (bytes) */ u_int8_t iv_dtim_period; /* DTIM period */ u_int8_t iv_dtim_count; /* DTIM count from last bcn */ /* set/unset aid pwrsav state */ void (*iv_set_tim)(struct ieee80211_node *, int); u_int8_t iv_uapsdinfo; /* sta mode QoS Info flags */ struct ieee80211_node *iv_bss; /* information for this node */ int iv_fixed_rate; /* 802.11 rate or -1 */ u_int16_t iv_rtsthreshold; u_int16_t iv_fragthreshold; u_int16_t iv_txmin; /* min tx retry count */ u_int16_t iv_txmax; /* max tx retry count */ u_int16_t iv_txlifetime; /* tx lifetime */ int iv_inact_timer; /* inactivity timer wait */ void *iv_opt_ie; /* user-specified IE's */ u_int16_t iv_opt_ie_len; /* length of ni_opt_ie */ u_int16_t iv_def_txkey; /* default/group tx key index */ struct ieee80211_key iv_nw_keys[IEEE80211_WEP_NKID]; int (*iv_key_alloc)(struct ieee80211vap *, const struct ieee80211_key *); int (*iv_key_delete)(struct ieee80211vap *, const struct ieee80211_key *, struct ieee80211_node *); int (*iv_key_set)(struct ieee80211vap *, const struct ieee80211_key *, const u_int8_t mac[IEEE80211_ADDR_LEN]); void (*iv_key_update_begin)(struct ieee80211vap *); void (*iv_key_update_end)(struct ieee80211vap *);#ifdef ATH_SUPERG_COMP void (*iv_comp_set)(struct ieee80211vap *, struct ieee80211_node *, int);#endif const struct ieee80211_authenticator *iv_auth;/* authenticator glue */ void *iv_ec; /* private auth state */ struct ieee80211vap *iv_xrvap; /* pointer to XR VAP , if XR is enabled */ u_int16_t iv_xrbcnwait; /* SWBA count incremented until it reaches XR_BECON_FACTOR */ struct timer_list iv_xrvapstart; /* timer to start xr */ u_int8_t iv_chanchange_count; /* 11h counter for channel change */ int iv_mcast_rate; /* Multicast rate (Kbps) */ const struct ieee80211_aclator *iv_acl; /* aclator glue */ void *iv_as; /* private aclator state */ struct timer_list iv_swbmiss; /* software beacon miss timer */ u_int16_t iv_swbmiss_period; /* software beacon miss timer period */ struct ieee80211_nsparams iv_nsparams; /* new state parameters for tasklet for stajoin1 */ struct IEEE80211_TQ_STRUCT iv_stajoin1tq; /* tasklet for newstate action called from stajoin1tq */ unsigned int iv_nsdone; /* Done with scheduled newstate tasklet */ uint8_t wds_mac[IEEE80211_ADDR_LEN]; struct ieee80211_spy iv_spy; /* IWSPY support */ struct ieee80211_app_ie_t app_ie[IEEE80211_APPIE_NUM_OF_FRAME]; /* app-specified IEs by frame type */ u_int32_t app_filter; /* filters which management frames are forwarded to app */};MALLOC_DECLARE(M_80211_VAP);#define IEEE80211_ADDR_NULL(a1) (memcmp(a1, "\x00\x00\x00\x00\x00\x00", \ IEEE80211_ADDR_LEN) == 0)#define IEEE80211_ADDR_EQ(a1, a2) (memcmp(a1, a2, IEEE80211_ADDR_LEN) == 0)#define IEEE80211_ADDR_COPY(dst, src) memcpy(dst, src, IEEE80211_ADDR_LEN)#define IEEE80211_ADDR_SET_NULL(dst) memset(dst, 0, IEEE80211_ADDR_LEN)/* ic_flags */#define IEEE80211_F_FF 0x00000001 /* CONF: ATH FF enabled */#define IEEE80211_F_TURBOP 0x00000002 /* CONF: ATH Turbo enabled*/#define IEEE80211_F_PROMISC 0x00000004 /* STATUS: promiscuous mode */#define IEEE80211_F_ALLMULTI 0x00000008 /* STATUS: all multicast mode *//* NB: this is intentionally setup to be IEEE80211_CAPINFO_PRIVACY */#define IEEE80211_F_PRIVACY 0x00000010 /* CONF: privacy enabled */#define IEEE80211_F_PUREG 0x00000020 /* CONF: 11g w/o 11b sta's */#define IEEE80211_F_XRUPDATE 0x00000040 /* CONF: update beacon XR element*/#define IEEE80211_F_SCAN 0x00000080 /* STATUS: scanning */#define IEEE80211_F_XR 0x00000100 /* CONF: operate in XR mode */#define IEEE80211_F_SIBSS 0x00000200 /* STATUS: start IBSS *//* NB: this is intentionally setup to be IEEE80211_CAPINFO_SHORT_SLOTTIME */#define IEEE80211_F_SHSLOT 0x00000400 /* STATUS: use short slot time*/#define IEEE80211_F_PMGTON 0x00000800 /* CONF: Power mgmt enable */#define IEEE80211_F_DESBSSID 0x00001000 /* CONF: des_bssid is set */#define IEEE80211_F_WME 0x00002000 /* CONF: enable WME use */#define IEEE80211_F_BGSCAN 0x00004000 /* CONF: bg scan enabled */#define IEEE80211_F_SWRETRY 0x00008000 /* CONF: sw tx retry enabled */#define IEEE80211_F_TXPOW_FIXED 0x00010000 /* TX Power: fixed rate */#define IEEE80211_F_IBSSON 0x00020000 /* CONF: IBSS creation enable */#define IEEE80211_F_SHPREAMBLE 0x00040000 /* STATUS: use short preamble */#define IEEE80211_F_DATAPAD 0x00080000 /* CONF: do alignment pad */#define IEEE80211_F_USEPROT 0x00100000 /* STATUS: protection enabled */#define IEEE80211_F_USEBARKER 0x00200000 /* STATUS: use barker preamble*/#define IEEE80211_F_TIMUPDATE 0x00400000 /* STATUS: update beacon tim */#define IEEE80211_F_WPA1 0x00800000 /* CONF: WPA enabled */#define IEEE80211_F_WPA2 0x01000000 /* CONF: WPA2 enabled */#define IEEE80211_F_WPA 0x01800000 /* CONF: WPA/WPA2 enabled */#define IEEE80211_F_DROPUNENC 0x02000000 /* CONF: drop unencrypted */#define IEEE80211_F_COUNTERM 0x04000000 /* CONF: TKIP countermeasures */#define IEEE80211_F_HIDESSID 0x08000000 /* CONF: hide SSID in beacon */#define IEEE80211_F_NOBRIDGE 0x10000000 /* CONF: disable internal bridge */#define IEEE80211_F_WMEUPDATE 0x20000000 /* STATUS: update beacon wme */#define IEEE80211_F_DOTH 0x40000000 /* enable 11.h */#define IEEE80211_F_CHANSWITCH 0x80000000 /* force chanswitch *//* ic_flags_ext */#define IEEE80211_FEXT_WDS 0x00000001 /* CONF: 4 addr allowed */#define IEEE80211_FEXT_COUNTRYIE 0x00000002 /* CONF: enable country IE */#define IEEE80211_FEXT_SCAN_PENDING 0x00000004 /* STATE: scan pending */#define IEEE80211_FEXT_BGSCAN 0x00000008 /* STATE: enable full bgscan completion */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -