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

📄 mlme.h

📁 ralink 2870 usb无线网卡 最新驱动
💻 H
📖 第 1 页 / 共 3 页
字号:
	UCHAR	rsv2:5;	UCHAR	ExtendChannelSwitch:1;	UCHAR	rsv:1;	UCHAR	BssCoexistMgmtSupport:1;#else	UCHAR	BssCoexistMgmtSupport:1;	UCHAR	rsv:1;	UCHAR	ExtendChannelSwitch:1;	UCHAR	rsv2:5;#endif // RT_BIG_ENDIAN //}EXT_CAP_INFO_ELEMENT, *PEXT_CAP_INFO_ELEMENT;// 802.11n 7.3.2.61typedef struct PACKED _BSS_2040_COEXIST_ELEMENT{	UCHAR					ElementID;		// ID = IE_2040_BSS_COEXIST = 72	UCHAR					Len;	BSS_2040_COEXIST_IE		BssCoexistIe;}BSS_2040_COEXIST_ELEMENT, *PBSS_2040_COEXIST_ELEMENT;//802.11n 7.3.2.59typedef struct PACKED _BSS_2040_INTOLERANT_CH_REPORT{	UCHAR				ElementID;		// ID = IE_2040_BSS_INTOLERANT_REPORT = 73	UCHAR				Len;		UCHAR				RegulatoryClass;	UCHAR				ChList[0];}BSS_2040_INTOLERANT_CH_REPORT, *PBSS_2040_INTOLERANT_CH_REPORT;// The structure for channel switch annoucement IE. This is in 802.11n D3.03typedef struct PACKED _CHA_SWITCH_ANNOUNCE_IE{	UCHAR			SwitchMode;	//channel switch mode	UCHAR			NewChannel;	// 	UCHAR			SwitchCount;	// } CHA_SWITCH_ANNOUNCE_IE, *PCHA_SWITCH_ANNOUNCE_IE;// The structure for channel switch annoucement IE. This is in 802.11n D3.03typedef struct PACKED _SEC_CHA_OFFSET_IE{	UCHAR			SecondaryChannelOffset;	 // 1: Secondary above, 3: Secondary below, 0: no Secondary } SEC_CHA_OFFSET_IE, *PSEC_CHA_OFFSET_IE;// This structure is extracted from struct RT_HT_CAPABILITYtypedef struct {	BOOLEAN			bHtEnable;	 // If we should use ht rate.	BOOLEAN			bPreNHt;	 // If we should use ht rate.	//Substract from HT Capability IE	UCHAR			MCSSet[16];} RT_HT_PHY_INFO, *PRT_HT_PHY_INFO;//This structure substracts ralink supports from all 802.11n-related features.//Features not listed here but contained in 802.11n spec are not supported in rt2860.typedef struct {#ifdef RT_BIG_ENDIAN	USHORT	rsv:5;	USHORT	AmsduSize:1;	// Max receiving A-MSDU size	USHORT	AmsduEnable:1;	// Enable to transmit A-MSDU. Suggest disable. We should use A-MPDU to gain best benifit of 802.11n	USHORT	RxSTBC:2;	// 2 bits	USHORT	TxSTBC:1;	USHORT	ShortGIfor40:1;	//for40MHz	USHORT	ShortGIfor20:1;	USHORT	GF:1;	//green field	USHORT	MimoPs:2;//mimo power safe MMPS_		USHORT	ChannelWidth:1;#else	USHORT	ChannelWidth:1;	USHORT	MimoPs:2;//mimo power safe MMPS_	USHORT	GF:1;	//green field	USHORT	ShortGIfor20:1;	USHORT	ShortGIfor40:1;	//for40MHz	USHORT	TxSTBC:1;	USHORT	RxSTBC:2;	// 2 bits	USHORT	AmsduEnable:1;	// Enable to transmit A-MSDU. Suggest disable. We should use A-MPDU to gain best benifit of 802.11n	USHORT	AmsduSize:1;	// Max receiving A-MSDU size	USHORT	rsv:5;#endif	//Substract from Addiont HT INFO IE#ifdef RT_BIG_ENDIAN	UCHAR	RecomWidth:1;	UCHAR	ExtChanOffset:2;	// Please not the difference with following 	UCHAR	NewExtChannelOffset; from 802.11n 	UCHAR	MpduDensity:3;		UCHAR	MaxRAmpduFactor:2;#else	UCHAR	MaxRAmpduFactor:2;	UCHAR	MpduDensity:3;	UCHAR	ExtChanOffset:2;	// Please not the difference with following 	UCHAR	NewExtChannelOffset; from 802.11n 	UCHAR	RecomWidth:1;#endif#ifdef RT_BIG_ENDIAN	USHORT	rsv2:11;	USHORT	OBSS_NonHTExist:1;	USHORT	rsv3:1;	USHORT	NonGfPresent:1;	USHORT	OperaionMode:2;#else	USHORT	OperaionMode:2;	USHORT	NonGfPresent:1;	USHORT	rsv3:1;	USHORT	OBSS_NonHTExist:1;	USHORT	rsv2:11;#endif		// New Extension Channel Offset IE	UCHAR	NewExtChannelOffset;		// Extension Capability IE = 127	UCHAR	BSSCoexist2040;	} RT_HT_CAPABILITY, *PRT_HT_CAPABILITY;//   field in Addtional HT Information IE .   typedef struct PACKED {#ifdef RT_BIG_ENDIAN	UCHAR	SerInterGranu:3;	UCHAR	S_PSMPSup:1;	UCHAR	RifsMode:1; 	UCHAR	RecomWidth:1;		UCHAR	ExtChanOffset:2;#else	UCHAR	ExtChanOffset:2;	UCHAR	RecomWidth:1;	UCHAR	RifsMode:1; 	UCHAR	S_PSMPSup:1;	 //Indicate support for scheduled PSMP	UCHAR	SerInterGranu:3;	 //service interval granularity#endif} ADD_HTINFO, *PADD_HTINFO;typedef struct PACKED{#ifdef RT_BIG_ENDIAN	USHORT	rsv2:11; 	USHORT	OBSS_NonHTExist:1;	USHORT	rsv:1;	USHORT	NonGfPresent:1;	USHORT	OperaionMode:2;	#else	USHORT	OperaionMode:2;	USHORT	NonGfPresent:1;	USHORT	rsv:1; 	USHORT	OBSS_NonHTExist:1;	USHORT	rsv2:11; #endif} ADD_HTINFO2, *PADD_HTINFO2;// TODO: Need sync with spec about the definition of StbcMcs. In Draft 3.03, it's reserved.typedef struct PACKED{#ifdef RT_BIG_ENDIAN	USHORT	rsv:4;	USHORT	PcoPhase:1;	USHORT	PcoActive:1;	USHORT	LsigTxopProt:1;	USHORT	STBCBeacon:1;	USHORT	DualCTSProtect:1;	USHORT	DualBeacon:1;	USHORT	StbcMcs:6;#else	USHORT	StbcMcs:6;	USHORT	DualBeacon:1;	USHORT	DualCTSProtect:1; 	USHORT	STBCBeacon:1;	USHORT	LsigTxopProt:1;	// L-SIG TXOP protection full support 	USHORT	PcoActive:1; 	USHORT	PcoPhase:1; 	USHORT	rsv:4; #endif // RT_BIG_ENDIAN //} ADD_HTINFO3, *PADD_HTINFO3;#define SIZE_ADD_HT_INFO_IE		22typedef struct  PACKED{	UCHAR				ControlChan;	ADD_HTINFO			AddHtInfo;	ADD_HTINFO2			AddHtInfo2;	 	ADD_HTINFO3			AddHtInfo3;	 	UCHAR				MCSSet[16];		// Basic MCS set} ADD_HT_INFO_IE, *PADD_HT_INFO_IE;typedef struct  PACKED{	UCHAR				NewExtChanOffset;} NEW_EXT_CHAN_IE, *PNEW_EXT_CHAN_IE;typedef struct PACKED _FRAME_802_11 {    HEADER_802_11   Hdr;    UCHAR            Octet[1];}   FRAME_802_11, *PFRAME_802_11;// QoSNull embedding of management action. When HT Control MA field set to 1.typedef struct PACKED _MA_BODY {    UCHAR            Category;    UCHAR            Action;    UCHAR            Octet[1];}   MA_BODY, *PMA_BODY;typedef	struct	PACKED _HEADER_802_3	{    UCHAR           DAAddr1[MAC_ADDR_LEN];    UCHAR           SAAddr2[MAC_ADDR_LEN];    UCHAR           Octet[2];}	HEADER_802_3, *PHEADER_802_3;////Block ACK related format// 2-byte BA Parameter  field  in 	DELBA frames to terminate an already set up bAtypedef struct PACKED{#ifdef RT_BIG_ENDIAN    USHORT      TID:4;	// value of TC os TS    USHORT      Initiator:1;	// 1: originator    0:recipient    USHORT      Rsv:11;	// always set to 0#else    USHORT      Rsv:11;	// always set to 0    USHORT      Initiator:1;	// 1: originator    0:recipient    USHORT      TID:4;	// value of TC os TS#endif /* !RT_BIG_ENDIAN */} DELBA_PARM, *PDELBA_PARM;// 2-byte BA Parameter Set field  in ADDBA frames to signal parm for setting up a BAtypedef struct PACKED {#ifdef RT_BIG_ENDIAN    USHORT      BufSize:10;	// number of buffe of size 2304 octetsr    USHORT      TID:4;	// value of TC os TS    USHORT      BAPolicy:1;	// 1: immediately BA    0:delayed BA    USHORT      AMSDUSupported:1;	// 0: not permitted		1: permitted#else    USHORT      AMSDUSupported:1;	// 0: not permitted		1: permitted    USHORT      BAPolicy:1;	// 1: immediately BA    0:delayed BA    USHORT      TID:4;	// value of TC os TS    USHORT      BufSize:10;	// number of buffe of size 2304 octetsr#endif /* !RT_BIG_ENDIAN */} BA_PARM, *PBA_PARM;// 2-byte BA Starting Seq CONTROL fieldtypedef union PACKED {    struct PACKED {#ifdef RT_BIG_ENDIAN    USHORT      StartSeq:12;   // sequence number of the 1st MSDU for which this BAR is sent	USHORT      FragNum:4;	// always set to 0#else    USHORT      FragNum:4;	// always set to 0	USHORT      StartSeq:12;   // sequence number of the 1st MSDU for which this BAR is sent#endif /* RT_BIG_ENDIAN */    }   field;    USHORT           word;} BASEQ_CONTROL, *PBASEQ_CONTROL;//BAControl and BARControl are the same// 2-byte BA CONTROL field in BA frametypedef struct PACKED {#ifdef RT_BIG_ENDIAN    USHORT      TID:4;    USHORT      Rsv:9;    USHORT      Compressed:1;    USHORT      MTID:1;		//EWC V1.24    USHORT      ACKPolicy:1; // only related to N-Delayed BA. But not support in RT2860b. 0:NormalACK  1:No ACK#else    USHORT      ACKPolicy:1; // only related to N-Delayed BA. But not support in RT2860b. 0:NormalACK  1:No ACK    USHORT      MTID:1;		//EWC V1.24    USHORT      Compressed:1;    USHORT      Rsv:9;    USHORT      TID:4;#endif /* !RT_BIG_ENDIAN */} BA_CONTROL, *PBA_CONTROL;// 2-byte BAR CONTROL field in BAR frametypedef struct PACKED {#ifdef RT_BIG_ENDIAN    USHORT      TID:4;    USHORT      Rsv1:9;    USHORT      Compressed:1;    USHORT      MTID:1;		//if this bit1, use  FRAME_MTBA_REQ,  if 0, use FRAME_BA_REQ    USHORT      ACKPolicy:1;#else    USHORT      ACKPolicy:1; // 0:normal ack,  1:no ack.    USHORT      MTID:1;		//if this bit1, use  FRAME_MTBA_REQ,  if 0, use FRAME_BA_REQ    USHORT      Compressed:1;    USHORT      Rsv1:9;    USHORT      TID:4;#endif /* !RT_BIG_ENDIAN */} BAR_CONTROL, *PBAR_CONTROL;// BARControl in MTBAR frametypedef struct PACKED {#ifdef RT_BIG_ENDIAN    USHORT      NumTID:4;    USHORT      Rsv1:9;    USHORT      Compressed:1;    USHORT      MTID:1;		    USHORT      ACKPolicy:1;#else    USHORT      ACKPolicy:1;    USHORT      MTID:1;		    USHORT      Compressed:1;    USHORT      Rsv1:9;    USHORT      NumTID:4;#endif /* !RT_BIG_ENDIAN */} MTBAR_CONTROL, *PMTBAR_CONTROL;typedef struct PACKED {#ifdef RT_BIG_ENDIAN    USHORT      TID:4;    USHORT      Rsv1:12;#else    USHORT      Rsv1:12;    USHORT      TID:4;#endif /* !RT_BIG_ENDIAN */} PER_TID_INFO, *PPER_TID_INFO;typedef struct {	PER_TID_INFO      PerTID;	BASEQ_CONTROL 	 BAStartingSeq;} EACH_TID, *PEACH_TID;// BAREQ AND MTBAREQ have the same subtype BAR, 802.11n BAR use compressed bitmap.typedef struct PACKED _FRAME_BA_REQ {	FRAME_CONTROL   FC;	USHORT          Duration;	UCHAR           Addr1[MAC_ADDR_LEN];	UCHAR           Addr2[MAC_ADDR_LEN];	BAR_CONTROL  BARControl;	BASEQ_CONTROL 	 BAStartingSeq;}   FRAME_BA_REQ, *PFRAME_BA_REQ;typedef struct PACKED _FRAME_MTBA_REQ {	FRAME_CONTROL   FC;	USHORT          Duration;	UCHAR           Addr1[MAC_ADDR_LEN];	UCHAR           Addr2[MAC_ADDR_LEN];	MTBAR_CONTROL  MTBARControl;	PER_TID_INFO	PerTIDInfo;	BASEQ_CONTROL 	 BAStartingSeq;}   FRAME_MTBA_REQ, *PFRAME_MTBA_REQ;// Compressed format is mandantory in HT STAtypedef struct PACKED _FRAME_MTBA {	FRAME_CONTROL   FC;	USHORT          Duration;	UCHAR           Addr1[MAC_ADDR_LEN];	UCHAR           Addr2[MAC_ADDR_LEN];	BA_CONTROL  BAControl;	BASEQ_CONTROL 	 BAStartingSeq;	UCHAR		BitMap[8];}   FRAME_MTBA, *PFRAME_MTBA;typedef struct PACKED _FRAME_PSMP_ACTION {	HEADER_802_11   Hdr;	UCHAR	Category;	UCHAR	Action;	UCHAR	Psmp;	// 7.3.1.25}   FRAME_PSMP_ACTION, *PFRAME_PSMP_ACTION;typedef struct PACKED _FRAME_ACTION_HDR {	HEADER_802_11   Hdr;	UCHAR	Category;	UCHAR	Action;}   FRAME_ACTION_HDR, *PFRAME_ACTION_HDR;//Action Frame//Action Frame  Category:Spectrum,  Action:Channel Switch. 7.3.2.20typedef struct PACKED _CHAN_SWITCH_ANNOUNCE {	UCHAR					ElementID;	// ID = IE_CHANNEL_SWITCH_ANNOUNCEMENT = 37	UCHAR					Len;	CHA_SWITCH_ANNOUNCE_IE	CSAnnounceIe;}   CHAN_SWITCH_ANNOUNCE, *PCHAN_SWITCH_ANNOUNCE;//802.11n : 7.3.2.20atypedef struct PACKED _SECOND_CHAN_OFFSET {	UCHAR				ElementID;		// ID = IE_SECONDARY_CH_OFFSET = 62	UCHAR				Len;	SEC_CHA_OFFSET_IE	SecChOffsetIe;}   SECOND_CHAN_OFFSET, *PSECOND_CHAN_OFFSET;typedef struct PACKED _FRAME_SPETRUM_CS {	HEADER_802_11   Hdr;	UCHAR	Category;	UCHAR	Action;	CHAN_SWITCH_ANNOUNCE	CSAnnounce;	SECOND_CHAN_OFFSET		SecondChannel;}   FRAME_SPETRUM_CS, *PFRAME_SPETRUM_CS;typedef struct PACKED _FRAME_ADDBA_REQ {	HEADER_802_11   Hdr;	UCHAR	Category;	UCHAR	Action;	UCHAR	Token;	// 1	BA_PARM		BaParm;	      //  2 - 10	USHORT		TimeOutValue;	// 0 - 0 	BASEQ_CONTROL	BaStartSeq; // 0-0}   FRAME_ADDBA_REQ, *PFRAME_ADDBA_REQ;typedef struct PACKED _FRAME_ADDBA_RSP {	HEADER_802_11   Hdr;	UCHAR	Category;	UCHAR	Action;	UCHAR	Token;	USHORT	StatusCode;	BA_PARM		BaParm; //0 - 2	USHORT		TimeOutValue;}   FRAME_ADDBA_RSP, *PFRAME_ADDBA_RSP;typedef struct PACKED _FRAME_DELBA_REQ {	HEADER_802_11   Hdr;	UCHAR	Category;	UCHAR	Action;	DELBA_PARM		DelbaParm;	USHORT	ReasonCode;}   FRAME_DELBA_REQ, *PFRAME_DELBA_REQ;//7.2.1.7typedef struct PACKED _FRAME_BAR {	FRAME_CONTROL   FC;	USHORT          Duration;	UCHAR           Addr1[MAC_ADDR_LEN];	UCHAR           Addr2[MAC_ADDR_LEN];	BAR_CONTROL		BarControl;	BASEQ_CONTROL	StartingSeq;}   FRAME_BAR, *PFRAME_BAR;//7.2.1.7typedef struct PACKED _FRAME_BA {	FRAME_CONTROL   FC;	USHORT          Duration;	UCHAR           Addr1[MAC_ADDR_LEN];	UCHAR           Addr2[MAC_ADDR_LEN];	BAR_CONTROL		BarControl;	BASEQ_CONTROL	StartingSeq;	UCHAR		bitmask[8];}   FRAME_BA, *PFRAME_BA;// Radio Measuement Request Frame Formattypedef struct PACKED _FRAME_RM_REQ_ACTION {	HEADER_802_11   Hdr;	UCHAR	Category;	UCHAR	Action;	UCHAR	Token;	USHORT	Repetition;	UCHAR   data[0];}   FRAME_RM_REQ_ACTION, *PFRAME_RM_REQ_ACTION;typedef struct PACKED {	UCHAR		ID;	UCHAR		Length;	UCHAR		ChannelSwitchMode;	UCHAR		NewRegClass;	UCHAR		NewChannelNum;	UCHAR		ChannelSwitchCount;} HT_EXT_CHANNEL_SWITCH_ANNOUNCEMENT_IE, *PHT_EXT_CHANNEL_SWITCH_ANNOUNCEMENT_IE;//// _Limit must be the 2**n - 1// _SEQ1 , _SEQ2 must be within 0 ~ _Limit

⌨️ 快捷键说明

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