⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ieee80211.h.svn-base

📁 最新之atheros芯片driver source code, 基于linux操作系统,內含atheros芯片HAL全部代码
💻 SVN-BASE
📖 第 1 页 / 共 3 页
字号:
	CTRY_SLOVENIA             = 705,     /* Slovenia */	CTRY_SOUTH_AFRICA         = 710,     /* South Africa */	CTRY_SPAIN                = 724,     /* Spain */	CTRY_SWEDEN               = 752,     /* Sweden */	CTRY_SWITZERLAND          = 756,     /* Switzerland */	CTRY_SYRIA                = 760,     /* Syria */	CTRY_TAIWAN               = 158,     /* Taiwan */	CTRY_THAILAND             = 764,     /* Thailand */	CTRY_TRINIDAD_Y_TOBAGO    = 780,     /* Trinidad y Tobago */	CTRY_TUNISIA              = 788,     /* Tunisia */	CTRY_TURKEY               = 792,     /* Turkey */	CTRY_UAE                  = 784,     /* U.A.E. */	CTRY_UKRAINE              = 804,     /* Ukraine */	CTRY_UNITED_KINGDOM       = 826,     /* United Kingdom */	CTRY_UNITED_STATES        = 840,     /* United States */	CTRY_UNITED_STATES_FCC49  = 842,     /* United States (Public Safety)*/	CTRY_URUGUAY              = 858,     /* Uruguay */	CTRY_UZBEKISTAN           = 860,     /* Uzbekistan */	CTRY_VENEZUELA            = 862,     /* Venezuela */	CTRY_VIET_NAM             = 704,     /* Viet Nam */	CTRY_YEMEN                = 887,     /* Yemen */	CTRY_ZIMBABWE             = 716      /* Zimbabwe */};/*  * Generic information element */struct ieee80211_ie {	u_int8_t id;	u_int8_t len;	u_int8_t info[0];} __packed;/*  * Country information element. */#define IEEE80211_COUNTRY_MAX_TRIPLETS (83)struct ieee80211_ie_country {	u_int8_t country_id;	u_int8_t country_len;	u_int8_t country_str[3];	u_int8_t country_triplet[IEEE80211_COUNTRY_MAX_TRIPLETS * 3];} __packed;/* * Power Constraint information element. */struct ieee80211_ie_pwrcnstr {	u_int8_t pc_id;			/* IEEE80211_ELEMID_PWRCNSTR */	u_int8_t pc_len;		/* == 2 */	u_int8_t pc_lpc;		/* Local Power Constraint [dB] */} __packed;/* * Power Capability information element. */struct ieee80211_ie_pwrcap {	u_int8_t pc_id;			/* IEEE80211_ELEMID_PWRCAP */	u_int8_t pc_len;		/* == 2 */	int8_t pc_mintxpow;		/* Minimum Transmit Power Capability [dBm] */	int8_t pc_maxtxpow;		/* Maximum Transmit Power Capability [dBm] */} __packed;/* * Supported Channels information element. */#define IEEE80211_SUPPCHAN_MAX_PAIRS (127)struct ieee80211_ie_sc {	u_int8_t sc_id;			/* IEEE80211_ELEMID_SUPPCHAN */	u_int8_t sc_len;		/* == 2 * number of sc_subband elements */	struct {		u_int8_t sc_first;	/* First Channel Number */		u_int8_t sc_number;	/* Number of Channels */	} __packed sc_subband[IEEE80211_SUPPCHAN_MAX_PAIRS];} __packed;/* * Channel Switch Announcement information element. */struct ieee80211_ie_csa {	u_int8_t csa_id;	/* IEEE80211_ELEMID_CHANSWITCHANN */	u_int8_t csa_len;	/* == 3 */	u_int8_t csa_mode;	/* Channel Switch Mode: 1 == stop transmission until CS */	u_int8_t csa_chan;	/* New Channel Number */	u_int8_t csa_count;	/* TBTTs until Channel Switch happens */} __packed;/* minimal Channel Switch Count in the initial announcement */#define IEEE80211_CSA_PROTECTION_PERIOD 3/* maximum allowed deviance of measurement of intervals between CSA in Beacons */#define IEEE80211_CSA_SANITY_THRESHOLD 100/* does frame have QoS sequence control data */#define	IEEE80211_QOS_HAS_SEQ(wh) \	(((wh)->i_fc[0] & \	  (IEEE80211_FC0_TYPE_MASK | IEEE80211_FC0_SUBTYPE_QOS)) == \	  (IEEE80211_FC0_TYPE_DATA | IEEE80211_FC0_SUBTYPE_QOS))#define WME_QOSINFO_COUNT	0x0f  /* Mask for Param Set Count field *//* * WME/802.11e information element. */struct ieee80211_ie_wme {	u_int8_t wme_id;		/* IEEE80211_ELEMID_VENDOR */	u_int8_t wme_len;	/* length in bytes */	u_int8_t wme_oui[3];	/* 0x00, 0x50, 0xf2 */	u_int8_t wme_type;	/* OUI type */	u_int8_t wme_subtype;	/* OUI subtype */	u_int8_t wme_version;	/* spec revision */	u_int8_t wme_info;	/* QoS info */} __packed;/* * WME/802.11e Tspec Element */struct ieee80211_wme_tspec {	u_int8_t ts_id;	u_int8_t ts_len;	u_int8_t ts_oui[3];	u_int8_t ts_oui_type;	u_int8_t ts_oui_subtype;	u_int8_t ts_version;	u_int8_t ts_tsinfo[3];	u_int8_t ts_nom_msdu[2];	u_int8_t ts_max_msdu[2];	u_int8_t ts_min_svc[4];	u_int8_t ts_max_svc[4];	u_int8_t ts_inactv_intv[4];	u_int8_t ts_susp_intv[4];	u_int8_t ts_start_svc[4];	u_int8_t ts_min_rate[4];	u_int8_t ts_mean_rate[4];	u_int8_t ts_max_burst[4];	u_int8_t ts_min_phy[4];	u_int8_t ts_peak_rate[4];	u_int8_t ts_delay[4];	u_int8_t ts_surplus[2];	u_int8_t ts_medium_time[2];} __packed;/* * WME AC parameter field */struct ieee80211_wme_acparams {	u_int8_t acp_aci_aifsn;	u_int8_t acp_logcwminmax;	u_int16_t acp_txop;} __packed;#define IEEE80211_WME_PARAM_LEN 24#define WME_NUM_AC		4	/* 4 AC categories */#define WME_PARAM_ACI		0x60	/* Mask for ACI field */#define WME_PARAM_ACI_S		5	/* Shift for ACI field */#define WME_PARAM_ACM		0x10	/* Mask for ACM bit */#define WME_PARAM_ACM_S		4	/* Shift for ACM bit */#define WME_PARAM_AIFSN		0x0f	/* Mask for aifsn field */#define WME_PARAM_AIFSN_S	0	/* Shift for aifsn field */#define WME_PARAM_LOGCWMIN	0x0f	/* Mask for CwMin field (in log) */#define WME_PARAM_LOGCWMIN_S	0	/* Shift for CwMin field */#define WME_PARAM_LOGCWMAX	0xf0	/* Mask for CwMax field (in log) */#define WME_PARAM_LOGCWMAX_S	4	/* Shift for CwMax field */#define WME_AC_TO_TID(_ac) (       \	((_ac) == WME_AC_VO) ? 6 : \	((_ac) == WME_AC_VI) ? 5 : \	((_ac) == WME_AC_BK) ? 1 : \	0)#define TID_TO_WME_AC(_tid) (      \	((_tid) < 1) ? WME_AC_BE : \	((_tid) < 3) ? WME_AC_BK : \	((_tid) < 6) ? WME_AC_VI : \	WME_AC_VO)/* * WME Parameter Element */struct ieee80211_wme_param {	u_int8_t param_id;	u_int8_t param_len;	u_int8_t param_oui[3];	u_int8_t param_oui_type;	u_int8_t param_oui_sybtype;	u_int8_t param_version;	u_int8_t param_qosInfo;	u_int8_t param_reserved;	struct ieee80211_wme_acparams	params_acParams[WME_NUM_AC];} __packed;/* * WME U-APSD qos info field defines */#define WME_CAPINFO_UAPSD_EN			0x00000080#define WME_CAPINFO_UAPSD_VO			0x00000001#define WME_CAPINFO_UAPSD_VI			0x00000002#define WME_CAPINFO_UAPSD_BK			0x00000004#define WME_CAPINFO_UAPSD_BE			0x00000008#define WME_CAPINFO_UAPSD_ACFLAGS_SHIFT		0#define WME_CAPINFO_UAPSD_ACFLAGS_MASK		0xF#define WME_CAPINFO_UAPSD_MAXSP_SHIFT		5#define WME_CAPINFO_UAPSD_MAXSP_MASK		0x3#define WME_CAPINFO_IE_OFFSET			8#define WME_UAPSD_MAXSP(_qosinfo)					\		(((_qosinfo) >> WME_CAPINFO_UAPSD_MAXSP_SHIFT) & 	\		 WME_CAPINFO_UAPSD_MAXSP_MASK)#define WME_UAPSD_AC_ENABLED(_ac, _qosinfo)				\		((1 << (3 - (_ac))) & (					\		 ((_qosinfo) >> WME_CAPINFO_UAPSD_ACFLAGS_SHIFT) &	\		 WME_CAPINFO_UAPSD_ACFLAGS_MASK))/* * Atheros Advanced Capability information element. */struct ieee80211_ie_athAdvCap {	u_int8_t athAdvCap_id;		/* IEEE80211_ELEMID_VENDOR */	u_int8_t athAdvCap_len;		/* length in bytes */	u_int8_t athAdvCap_oui[3];	/* 0x00, 0x03, 0x7f */	u_int8_t athAdvCap_type;	/* OUI type */	u_int8_t athAdvCap_subtype;	/* OUI subtype */	u_int8_t athAdvCap_version;	/* spec revision */	u_int8_t athAdvCap_capability;	/* Capability info */	u_int16_t athAdvCap_defKeyIndex;} __packed;/* * Atheros XR information element. */struct ieee80211_xr_param {	u_int8_t param_id;	u_int8_t param_len;	u_int8_t param_oui[3];	u_int8_t param_oui_type;	u_int8_t param_oui_sybtype;	u_int8_t param_version;	u_int8_t param_Info;	u_int8_t param_base_bssid[IEEE80211_ADDR_LEN];	u_int8_t param_xr_bssid[IEEE80211_ADDR_LEN];	u_int16_t param_xr_beacon_interval;	u_int8_t param_base_ath_capability;	u_int8_t param_xr_ath_capability;} __packed;/* Atheros capabilities */#define IEEE80211_ATHC_TURBOP	0x0001		/* Turbo Prime */#define IEEE80211_ATHC_COMP	0x0002		/* Compression */#define IEEE80211_ATHC_FF	0x0004		/* Fast Frames */#define IEEE80211_ATHC_XR	0x0008		/* Xtended Range support */#define IEEE80211_ATHC_AR	0x0010		/* Advanced Radar support */#define IEEE80211_ATHC_BURST	0x0020		/* Bursting - not negotiated */#define IEEE80211_ATHC_WME	0x0040		/* CWMin tuning */#define IEEE80211_ATHC_BOOST	0x0080		/* Boost *//* * Management Notification Frame */struct ieee80211_mnf {	u_int8_t mnf_category;	u_int8_t mnf_action;	u_int8_t mnf_dialog;	u_int8_t mnf_status;} __packed;#define	MNF_SETUP_REQ	0#define	MNF_SETUP_RESP	1#define	MNF_TEARDOWN	2/* * Control frames. */struct ieee80211_frame_min {	u_int8_t i_fc[2];	__le16 i_dur;	u_int8_t i_addr1[IEEE80211_ADDR_LEN];	u_int8_t i_addr2[IEEE80211_ADDR_LEN];	/* FCS */} __packed;struct ieee80211_frame_rts {	u_int8_t i_fc[2];	__le16 i_dur;	u_int8_t i_ra[IEEE80211_ADDR_LEN];	u_int8_t i_ta[IEEE80211_ADDR_LEN];	/* FCS */} __packed;struct ieee80211_frame_cts {	u_int8_t i_fc[2];	__le16 i_dur;	u_int8_t i_ra[IEEE80211_ADDR_LEN];	/* FCS */} __packed;struct ieee80211_frame_ack {	u_int8_t i_fc[2];	__le16 i_dur;	u_int8_t i_ra[IEEE80211_ADDR_LEN];	/* FCS */} __packed;struct ieee80211_frame_pspoll {	u_int8_t i_fc[2];	u_int8_t i_aid[2];	u_int8_t i_bssid[IEEE80211_ADDR_LEN];	u_int8_t i_ta[IEEE80211_ADDR_LEN];	/* FCS */} __packed;struct ieee80211_frame_cfend {		/* NB: also CF-End+CF-Ack */	u_int8_t i_fc[2];	__le16 i_dur;	/* should be zero */	u_int8_t i_ra[IEEE80211_ADDR_LEN];	u_int8_t i_bssid[IEEE80211_ADDR_LEN];	/* FCS */} __packed;/* * BEACON management packets * *	octet timestamp[8] *	octet beacon interval[2] *	octet capability information[2] *	information element *		octet elemid *		octet length *		octet information[length] */typedef u_int8_t *ieee80211_mgt_beacon_t;#define	IEEE80211_BEACON_INTERVAL(beacon) \

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -