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

📄 mlme.h

📁 Linux下的RT系列无线网卡驱动,可以直接在x86平台上编译
💻 H
📖 第 1 页 / 共 3 页
字号:
typedef struct  PACKED{	UCHAR				NewExtChanOffset;} NEW_EXT_CHAN_IE, *PNEW_EXT_CHAN_IE;// 4-byte HTC field.  maybe included in any frame except non-QOS data frame.  The Order bit must set 1.typedef struct PACKED {#ifdef BIG_ENDIAN    UINT32		RDG:1;	//RDG / More PPDU    UINT32		ACConstraint:1;	//feedback request    UINT32		rsv:5;  //calibration sequence    UINT32		ZLFAnnouce:1;	// ZLF announcement    UINT32		CSISTEERING:2;	//CSI/ STEERING    UINT32		FBKReq:2;	//feedback request    UINT32		CalSeq:2;  //calibration sequence    UINT32		CalPos:2;	// calibration position    UINT32		MFBorASC:7;	//Link adaptation feedback containing recommended MCS. 0x7f for no feedback or not available    UINT32		MFS:3;	//SET to the received value of MRS. 0x111 for unsolicited MFB.    UINT32		MRSorASI:3;	// MRQ Sequence identifier. unchanged during entire procedure. 0x000-0x110.    UINT32		MRQ:1;	//MCS feedback. Request for a MCS feedback    UINT32		TRQ:1;	//sounding request    UINT32		MA:1;	//management action payload exist in (QoS Null+HTC)#else    UINT32		MA:1;	//management action payload exist in (QoS Null+HTC)    UINT32		TRQ:1;	//sounding request    UINT32		MRQ:1;	//MCS feedback. Request for a MCS feedback    UINT32		MRSorASI:3;	// MRQ Sequence identifier. unchanged during entire procedure. 0x000-0x110.    UINT32		MFS:3;	//SET to the received value of MRS. 0x111 for unsolicited MFB.    UINT32		MFBorASC:7;	//Link adaptation feedback containing recommended MCS. 0x7f for no feedback or not available    UINT32		CalPos:2;	// calibration position    UINT32		CalSeq:2;  //calibration sequence    UINT32		FBKReq:2;	//feedback request    UINT32		CSISTEERING:2;	//CSI/ STEERING    UINT32		ZLFAnnouce:1;	// ZLF announcement    UINT32		rsv:5;  //calibration sequence    UINT32		ACConstraint:1;	//feedback request    UINT32		RDG:1;	//RDG / More PPDU#endif /* !BIG_ENDIAN */} HT_CONTROL, *PHT_CONTROL;// 2-byte QOS CONTROL fieldtypedef struct PACKED {#ifdef BIG_ENDIAN    USHORT      Txop_QueueSize:8;    USHORT      AMsduPresent:1;    USHORT      AckPolicy:2;  //0: normal ACK 1:No ACK 2:scheduled under MTBA/PSMP  3: BA    USHORT      EOSP:1;    USHORT      TID:4;#else    USHORT      TID:4;    USHORT      EOSP:1;    USHORT      AckPolicy:2;  //0: normal ACK 1:No ACK 2:scheduled under MTBA/PSMP  3: BA    USHORT      AMsduPresent:1;    USHORT      Txop_QueueSize:8;#endif /* !BIG_ENDIAN */} QOS_CONTROL, *PQOS_CONTROL;	// 2-byte Frame control fieldtypedef	struct	PACKED {#ifdef BIG_ENDIAN	USHORT		Order:1;			// Strict order expected	USHORT		Wep:1;				// Wep data	USHORT		MoreData:1;			// More data bit	USHORT		PwrMgmt:1;			// Power management bit	USHORT		Retry:1;			// Retry status bit	USHORT		MoreFrag:1;			// More fragment bit	USHORT		FrDs:1;				// From DS indication	USHORT		ToDs:1;				// To DS indication	USHORT		SubType:4;			// MSDU subtype	USHORT		Type:2;				// MSDU type	USHORT		Ver:2;				// Protocol version#else	USHORT		Ver:2;				// Protocol version	USHORT		Type:2;				// MSDU type	USHORT		SubType:4;			// MSDU subtype	USHORT		ToDs:1;				// To DS indication	USHORT		FrDs:1;				// From DS indication	USHORT		MoreFrag:1;			// More fragment bit	USHORT		Retry:1;			// Retry status bit	USHORT		PwrMgmt:1;			// Power management bit	USHORT		MoreData:1;			// More data bit	USHORT		Wep:1;				// Wep data	USHORT		Order:1;			// Strict order expected#endif /* !BIG_ENDIAN */} FRAME_CONTROL, *PFRAME_CONTROL;typedef	struct	PACKED _HEADER_802_11	{    FRAME_CONTROL   FC;    USHORT          Duration;    UCHAR           Addr1[MAC_ADDR_LEN];    UCHAR           Addr2[MAC_ADDR_LEN];	UCHAR			Addr3[MAC_ADDR_LEN];#ifdef BIG_ENDIAN	USHORT			Sequence:12;	USHORT			Frag:4;#else	USHORT			Frag:4;	USHORT			Sequence:12;#endif /* !BIG_ENDIAN */	UCHAR			Octet[0];}	HEADER_802_11, *PHEADER_802_11;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 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 /* !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 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 /* !BIG_ENDIAN */} BA_PARM, *PBA_PARM;// 2-byte BA Starting Seq CONTROL fieldtypedef union PACKED {    struct PACKED {#ifdef 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 /* 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 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 /* !BIG_ENDIAN */} BA_CONTROL, *PBA_CONTROL;// 2-byte BAR CONTROL field in BAR frametypedef struct PACKED {#ifdef 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 /* !BIG_ENDIAN */} BAR_CONTROL, *PBAR_CONTROL;// BARControl in MTBAR frametypedef struct PACKED {#ifdef 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 /* !BIG_ENDIAN */} MTBAR_CONTROL, *PMTBAR_CONTROL;typedef struct PACKED {#ifdef BIG_ENDIAN    USHORT      TID:4;    USHORT      Rsv1:12;#else    USHORT      Rsv1:12;    USHORT      TID:4;#endif /* !BIG_ENDIAN */} PER_TID_INFO, *PPER_TID_INFO;typedef struct {	PER_TID_INFO      PerTID;	BASEQ_CONTROL 	 BAStartingSeq;} EACH_TID, *PEACH_TID;typedef struct PACKED _PSPOLL_FRAME {    FRAME_CONTROL   FC;    USHORT          Aid;    UCHAR           Bssid[MAC_ADDR_LEN];    UCHAR           Ta[MAC_ADDR_LEN];}   PSPOLL_FRAME, *PPSPOLL_FRAME;typedef	struct	PACKED _RTS_FRAME	{    FRAME_CONTROL   FC;    USHORT          Duration;    UCHAR           Addr1[MAC_ADDR_LEN];    UCHAR           Addr2[MAC_ADDR_LEN];}RTS_FRAME, *PRTS_FRAME;// 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 _FRAME_MTBA_REQ {	FRAME_CONTROL   FC;	USHORT          Duration;	UCHAR           Addr1[MAC_ADDR_LEN];	UCHAR           Addr2[MAC_ADDR_LEN];	MTBAR_CONTROL  MTBARControl;	UCHAR 	 Octet[1];	// EACH_TID}   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;	UCHAR		Octet[1];	//repeated of BASEQ_CONTROL+bitmap[8]}   FRAME_MTBA, *PFRAME_MTBA;//Action Frame//Action Frame  Category:Spectrum,  Action:Channel Switch. 7.3.2.20typedef struct PACKED _CHAN_SWITCH_ANNOUNCE {	UCHAR	ElementIE;	UCHAR	Len;	UCHAR	Mode;	UCHAR	NewChannel;	UCHAR	CSCount;}   CHAN_SWITCH_ANNOUNCE, *PCHAN_SWITCH_ANNOUNCE;//802.11n : 7.3.2.20atypedef struct PACKED _SECOND_CHAN_OFFSET {	UCHAR	ElementIE;	UCHAR	Len;	UCHAR	Mode;	UCHAR	NewChannel;	UCHAR	CSCount;}   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;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_RADIO_ACTION {	HEADER_802_11   Hdr;	UCHAR	Category;	UCHAR	Action;	UCHAR	Token;	USHORT	Repetition;	UCHAR   data[0];}   FRAME_RADIO_ACTION, *PFRAME_RADIO_ACTION;//// _Limit must be the 2**n - 1// _SEQ1 , _SEQ2 must be within 0 ~ _Limit// #define SEQ_STEPONE(_SEQ1, _SEQ2, _Limit)	((_SEQ1 == ((_SEQ2+1) & _Limit)))#define SEQ_SMALLER(_SEQ1, _SEQ2, _Limit)	(((_SEQ1-_SEQ2) & ((_Limit+1)>>1)))#define SEQ_LARGER(_SEQ1, _SEQ2, _Limit)	((_SEQ1 != _SEQ2) && !(((_SEQ1-_SEQ2) & ((_Limit+1)>>1))))#define SEQ_WITHIN_WIN(_SEQ1, _SEQ2, _WIN, _Limit) (SEQ_LARGER(_SEQ1, _SEQ2, _Limit) &&  \												SEQ_SMALLER(_SEQ1, ((_SEQ2+_WIN+1)&_Limit), _Limit))//// Contention-free parameter (without ID and Length)//typedef struct PACKED {    BOOLEAN     bValid;         // 1: variable contains valid value    UCHAR       CfpCount;    UCHAR       CfpPeriod;    USHORT      CfpMaxDuration;    USHORT      CfpDurRemaining;} CF_PARM, *PCF_PARM;typedef	struct	_CIPHER_SUITE	{	NDIS_802_11_ENCRYPTION_STATUS	PairCipher;		// Unicast cipher 1, this one has more secured cipher suite	NDIS_802_11_ENCRYPTION_STATUS	PairCipherAux;	// Unicast cipher 2 if AP announce two unicast cipher suite	NDIS_802_11_ENCRYPTION_STATUS	GroupCipher;	// Group cipher	USHORT							RsnCapability;	// RSN capability from beacon	BOOLEAN							bMixMode;		// Indicate Pair & Group cipher might be different}	CIPHER_SUITE, *PCIPHER_SUITE;	// EDCA configuration from AP's BEACON/ProbeRsptypedef struct {

⌨️ 快捷键说明

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