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

📄 mlme.h

📁 ralink 2870 usb无线网卡 最新驱动
💻 H
📖 第 1 页 / 共 3 页
字号:
// #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 {    BOOLEAN     bValid;         // 1: variable contains valid value    BOOLEAN     bAdd;         // 1: variable contains valid value    BOOLEAN     bQAck;    BOOLEAN     bQueueRequest;    BOOLEAN     bTxopRequest;    BOOLEAN     bAPSDCapable;//  BOOLEAN     bMoreDataAck;    UCHAR       EdcaUpdateCount;    UCHAR       Aifsn[4];       // 0:AC_BK, 1:AC_BE, 2:AC_VI, 3:AC_VO    UCHAR       Cwmin[4];    UCHAR       Cwmax[4];    USHORT      Txop[4];      // in unit of 32-us    BOOLEAN     bACM[4];      // 1: Admission Control of AC_BK is mandattory} EDCA_PARM, *PEDCA_PARM;// QBSS LOAD information from QAP's BEACON/ProbeRsptypedef struct {    BOOLEAN     bValid;                     // 1: variable contains valid value    USHORT      StaNum;    UCHAR       ChannelUtilization;    USHORT      RemainingAdmissionControl;  // in unit of 32-us} QBSS_LOAD_PARM, *PQBSS_LOAD_PARM;// QBSS Info field in QSTA's assoc reqtypedef struct PACKED {#ifdef RT_BIG_ENDIAN	UCHAR		Rsv2:1;	UCHAR		MaxSPLength:2;	UCHAR		Rsv1:1;	UCHAR		UAPSD_AC_BE:1;	UCHAR		UAPSD_AC_BK:1;	UCHAR		UAPSD_AC_VI:1;	UCHAR		UAPSD_AC_VO:1;#else    UCHAR		UAPSD_AC_VO:1;	UCHAR		UAPSD_AC_VI:1;	UCHAR		UAPSD_AC_BK:1;	UCHAR		UAPSD_AC_BE:1;	UCHAR		Rsv1:1;	UCHAR		MaxSPLength:2;	UCHAR		Rsv2:1;#endif /* !RT_BIG_ENDIAN */} QBSS_STA_INFO_PARM, *PQBSS_STA_INFO_PARM;// QBSS Info field in QAP's Beacon/ProbeRsptypedef struct PACKED {#ifdef RT_BIG_ENDIAN	UCHAR		UAPSD:1;	UCHAR		Rsv:3;    UCHAR		ParamSetCount:4;#else    UCHAR		ParamSetCount:4;	UCHAR		Rsv:3;	UCHAR		UAPSD:1;#endif /* !RT_BIG_ENDIAN */} QBSS_AP_INFO_PARM, *PQBSS_AP_INFO_PARM;// QOS Capability reported in QAP's BEACON/ProbeRsp// QOS Capability sent out in QSTA's AssociateReq/ReAssociateReqtypedef struct {    BOOLEAN     bValid;                     // 1: variable contains valid value    BOOLEAN     bQAck;    BOOLEAN     bQueueRequest;    BOOLEAN     bTxopRequest;//  BOOLEAN     bMoreDataAck;    UCHAR       EdcaUpdateCount;} QOS_CAPABILITY_PARM, *PQOS_CAPABILITY_PARM;#ifdef CONFIG_STA_SUPPORTtypedef struct {    UCHAR       IELen;    UCHAR       IE[MAX_CUSTOM_LEN];} WPA_IE_;#endif // CONFIG_STA_SUPPORT //typedef struct {    UCHAR   Bssid[MAC_ADDR_LEN];    UCHAR   Channel;	UCHAR   CentralChannel;	//Store the wide-band central channel for 40MHz.  .used in 40MHz AP. Or this is the same as Channel.    UCHAR   BssType;    USHORT  AtimWin;    USHORT  BeaconPeriod;    UCHAR   SupRate[MAX_LEN_OF_SUPPORTED_RATES];    UCHAR   SupRateLen;    UCHAR   ExtRate[MAX_LEN_OF_SUPPORTED_RATES];    UCHAR   ExtRateLen;	HT_CAPABILITY_IE HtCapability;	UCHAR			HtCapabilityLen;	ADD_HT_INFO_IE AddHtInfo;	// AP might use this additional ht info IE 	UCHAR			AddHtInfoLen;	UCHAR			NewExtChanOffset;	CHAR    Rssi;    UCHAR   Privacy;			// Indicate security function ON/OFF. Don't mess up with auth mode.	UCHAR	Hidden;    USHORT  DtimPeriod;    USHORT  CapabilityInfo;    USHORT  CfpCount;    USHORT  CfpPeriod;    USHORT  CfpMaxDuration;    USHORT  CfpDurRemaining;    UCHAR   SsidLen;    CHAR    Ssid[MAX_LEN_OF_SSID];        ULONG   LastBeaconRxTime; // OS's timestamp	BOOLEAN	bSES;	// New for WPA2	CIPHER_SUITE					WPA;			// AP announced WPA cipher suite	CIPHER_SUITE					WPA2;			// AP announced WPA2 cipher suite	// New for microsoft WPA support	NDIS_802_11_FIXED_IEs	FixIEs;	NDIS_802_11_AUTHENTICATION_MODE	AuthModeAux;	// Addition mode for WPA2 / WPA capable AP	NDIS_802_11_AUTHENTICATION_MODE	AuthMode;		NDIS_802_11_WEP_STATUS	WepStatus;				// Unicast Encryption Algorithm extract from VAR_IE	USHORT					VarIELen;				// Length of next VIE include EID & Length	UCHAR					VarIEs[MAX_VIE_LEN];	// CCX Ckip information    UCHAR   CkipFlag;	// CCX 2 TSF	UCHAR	PTSF[4];		// Parent TSF	UCHAR	TTSF[8];		// Target TSF    // 802.11e d9, and WMM	EDCA_PARM           EdcaParm;	QOS_CAPABILITY_PARM QosCapability;	QBSS_LOAD_PARM      QbssLoad;#ifdef CONFIG_STA_SUPPORT    WPA_IE_     WpaIE;    WPA_IE_     RsnIE;#ifdef EXT_BUILD_CHANNEL_LIST	UCHAR		CountryString[3];	BOOLEAN		bHasCountryIE;#endif // EXT_BUILD_CHANNEL_LIST //#endif // CONFIG_STA_SUPPORT //} BSS_ENTRY, *PBSS_ENTRY;typedef struct {    UCHAR           BssNr;    UCHAR           BssOverlapNr;    BSS_ENTRY       BssEntry[MAX_LEN_OF_BSS_TABLE];} BSS_TABLE, *PBSS_TABLE;typedef struct _MLME_QUEUE_ELEM {    ULONG             Machine;    ULONG             MsgType;    ULONG             MsgLen;    UCHAR             Msg[MGMT_DMA_BUFFER_SIZE];    LARGE_INTEGER     TimeStamp;    UCHAR             Rssi0;    UCHAR             Rssi1;    UCHAR             Rssi2;    UCHAR             Signal;    UCHAR             Channel;    UCHAR             Wcid;    BOOLEAN           Occupied;#ifdef MLME_EX	USHORT            Idx;#endif // MLME_EX //} MLME_QUEUE_ELEM, *PMLME_QUEUE_ELEM;typedef struct _MLME_QUEUE {    ULONG             Num;    ULONG             Head;    ULONG             Tail;    NDIS_SPIN_LOCK   Lock;    MLME_QUEUE_ELEM  Entry[MAX_LEN_OF_MLME_QUEUE];} MLME_QUEUE, *PMLME_QUEUE;typedef VOID (*STATE_MACHINE_FUNC)(VOID *Adaptor, MLME_QUEUE_ELEM *Elem);typedef struct _STATE_MACHINE {    ULONG                           Base;    ULONG                           NrState;    ULONG                           NrMsg;    ULONG                           CurrState;    STATE_MACHINE_FUNC             *TransFunc;} STATE_MACHINE, *PSTATE_MACHINE;// MLME AUX data structure that hold temporarliy settings during a connection attempt.// Once this attemp succeeds, all settings will be copy to pAd->StaActive.// A connection attempt (user set OID, roaming, CCX fast roaming,..) consists of// several steps (JOIN, AUTH, ASSOC or REASSOC) and may fail at any step. We purposely// separate this under-trial settings away from pAd->StaActive so that once// this new attempt failed, driver can auto-recover back to the active settings.typedef struct _MLME_AUX {    UCHAR               BssType;    UCHAR               Ssid[MAX_LEN_OF_SSID];    UCHAR               SsidLen;    UCHAR               Bssid[MAC_ADDR_LEN];	UCHAR				AutoReconnectSsid[MAX_LEN_OF_SSID];	UCHAR				AutoReconnectSsidLen;    USHORT              Alg;    UCHAR               ScanType;    UCHAR               Channel;	UCHAR               CentralChannel;    USHORT              Aid;    USHORT              CapabilityInfo;    USHORT              BeaconPeriod;    USHORT              CfpMaxDuration;    USHORT              CfpPeriod;    USHORT              AtimWin;    	// Copy supported rate from desired AP's beacon. We are trying to match	// AP's supported and extended rate settings.	UCHAR		        SupRate[MAX_LEN_OF_SUPPORTED_RATES];	UCHAR		        ExtRate[MAX_LEN_OF_SUPPORTED_RATES];	UCHAR		        SupRateLen;	UCHAR		        ExtRateLen;	HT_CAPABILITY_IE		HtCapability;	UCHAR		        	HtCapabilityLen;	ADD_HT_INFO_IE		AddHtInfo;	// AP might use this additional ht info IE 	UCHAR			NewExtChannelOffset;	//RT_HT_CAPABILITY	SupportedHtPhy;    // new for QOS    QOS_CAPABILITY_PARM APQosCapability;    // QOS capability of the current associated AP    EDCA_PARM           APEdcaParm;         // EDCA parameters of the current associated AP    QBSS_LOAD_PARM      APQbssLoad;         // QBSS load of the current associated AP    // new to keep Ralink specific feature    ULONG               APRalinkIe;        BSS_TABLE           SsidBssTab;     // AP list for the same SSID    BSS_TABLE           RoamTab;        // AP list eligible for roaming    ULONG               BssIdx;    ULONG               RoamIdx;	BOOLEAN				CurrReqIsFromNdis;    RALINK_TIMER_STRUCT BeaconTimer, ScanTimer;    RALINK_TIMER_STRUCT AuthTimer;    RALINK_TIMER_STRUCT AssocTimer, ReassocTimer, DisassocTimer;#ifdef CONFIG_STA_SUPPORT#endif // CONFIG_STA_SUPPORT //} MLME_AUX, *PMLME_AUX;typedef struct _MLME_ADDBA_REQ_STRUCT{	UCHAR   Wcid;	// 	UCHAR   pAddr[MAC_ADDR_LEN];	UCHAR   BaBufSize;	USHORT	TimeOutValue;	UCHAR   TID;	UCHAR   Token;	USHORT	BaStartSeq;} MLME_ADDBA_REQ_STRUCT, *PMLME_ADDBA_REQ_STRUCT;typedef struct _MLME_DELBA_REQ_STRUCT{	UCHAR   Wcid;	// 	UCHAR     Addr[MAC_ADDR_LEN];	UCHAR   TID;	UCHAR	Initiator;} MLME_DELBA_REQ_STRUCT, *PMLME_DELBA_REQ_STRUCT;// assoc struct is equal to reassoctypedef struct _MLME_ASSOC_REQ_STRUCT{    UCHAR     Addr[MAC_ADDR_LEN];    USHORT    CapabilityInfo;    USHORT    ListenIntv;    ULONG     Timeout;} MLME_ASSOC_REQ_STRUCT, *PMLME_ASSOC_REQ_STRUCT, MLME_REASSOC_REQ_STRUCT, *PMLME_REASSOC_REQ_STRUCT;typedef struct _MLME_DISASSOC_REQ_STRUCT{    UCHAR     Addr[MAC_ADDR_LEN];    USHORT    Reason;} MLME_DISASSOC_REQ_STRUCT, *PMLME_DISASSOC_REQ_STRUCT;typedef struct _MLME_AUTH_REQ_STRUCT {    UCHAR        Addr[MAC_ADDR_LEN];    USHORT       Alg;    ULONG        Timeout;} MLME_AUTH_REQ_STRUCT, *PMLME_AUTH_REQ_STRUCT;typedef struct _MLME_DEAUTH_REQ_STRUCT {    UCHAR        Addr[MAC_ADDR_LEN];    USHORT       Reason;} MLME_DEAUTH_REQ_STRUCT, *PMLME_DEAUTH_REQ_STRUCT;typedef struct {    ULONG      BssIdx;} MLME_JOIN_REQ_STRUCT;typedef struct _MLME_SCAN_REQ_STRUCT {    UCHAR      Bssid[MAC_ADDR_LEN];    UCHAR      BssType;    UCHAR      ScanType;    UCHAR      SsidLen;    CHAR       Ssid[MAX_LEN_OF_SSID];} MLME_SCAN_REQ_STRUCT, *PMLME_SCAN_REQ_STRUCT;typedef struct _MLME_START_REQ_STRUCT {    CHAR        Ssid[MAX_LEN_OF_SSID];    UCHAR       SsidLen;} MLME_START_REQ_STRUCT, *PMLME_START_REQ_STRUCT;#ifdef CONFIG_STA_SUPPORT#ifdef QOS_DLS_SUPPORT// structure for DLStypedef struct _RT_802_11_DLS {	USHORT						TimeOut;		// Use to time out while slience, unit: second , set by UI	USHORT						CountDownTimer;	// Use to time out while slience,unit: second , used by driver only	NDIS_802_11_MAC_ADDRESS		MacAddr;		// set by UI	UCHAR						Status;			// 0: none , 1: wait STAkey, 2: finish DLS setup , set by driver only	BOOLEAN						Valid;			// 1: valid , 0: invalid , set by UI, use to setup or tear down DLS link	RALINK_TIMER_STRUCT			Timer;			// Use to time out while handshake	USHORT						Sequence;	USHORT						MacTabMatchWCID;	// ASIC	BOOLEAN						bHTCap;	PVOID						pAd;} RT_802_11_DLS, *PRT_802_11_DLS;typedef struct _MLME_DLS_REQ_STRUCT {    PRT_802_11_DLS	pDLS;    USHORT			Reason;} MLME_DLS_REQ_STRUCT, *PMLME_DLS_REQ_STRUCT;#endif // QOS_DLS_SUPPORT //#endif // CONFIG_STA_SUPPORT //typedef struct PACKED {    UCHAR   Eid;    UCHAR   Len;    UCHAR   Octet[1];} EID_STRUCT,*PEID_STRUCT, BEACON_EID_STRUCT, *PBEACON_EID_STRUCT;typedef struct PACKED _RTMP_TX_RATE_SWITCH{	UCHAR   ItemNo;#ifdef RT_BIG_ENDIAN	UCHAR	Rsv2:2;	UCHAR	Mode:2;	UCHAR	Rsv1:1;		UCHAR	BW:1;	UCHAR	ShortGI:1;	UCHAR	STBC:1;#else	UCHAR	STBC:1;	UCHAR	ShortGI:1;	UCHAR	BW:1;	UCHAR	Rsv1:1;	UCHAR	Mode:2;	UCHAR	Rsv2:2;#endif		UCHAR   CurrMCS;	UCHAR   TrainUp;	UCHAR   TrainDown;} RRTMP_TX_RATE_SWITCH, *PRTMP_TX_RATE_SWITCH;// ========================== AP mlme.h ===============================#define TBTT_PRELOAD_TIME       384        // usec. LomgPreamble + 24-byte at 1Mbps#define DEFAULT_DTIM_PERIOD     1// weighting factor to calculate Channel quality, total should be 100%//#define RSSI_WEIGHTING                   0//#define TX_WEIGHTING                     40//#define RX_WEIGHTING                     60#define MAC_TABLE_AGEOUT_TIME			300			// unit: sec#define MAC_TABLE_ASSOC_TIMEOUT			5			// unit: sec#define MAC_TABLE_FULL(Tab)				((Tab).size == MAX_LEN_OF_MAC_TABLE)// AP shall drop the sta if contine Tx fail count reach it.#define MAC_ENTRY_LIFE_CHECK_CNT		20			// packet cnt.// Value domain of pMacEntry->Ssttypedef enum _Sst {    SST_NOT_AUTH,   // 0: equivalent to IEEE 802.11/1999 state 1    SST_AUTH,       // 1: equivalent to IEEE 802.11/1999 state 2    SST_ASSOC       // 2: equivalent to IEEE 802.11/1999 state 3} SST;// value domain of pMacEntry->AuthStatetypedef enum _AuthState {    AS_NOT_AUTH,    AS_AUTH_OPEN,       // STA has been authenticated using OPEN SYSTEM    AS_AUTH_KEY,        // STA has been authenticated using SHARED KEY    AS_AUTHENTICATING   // STA is waiting for AUTH seq#3 using SHARED KEY} AUTH_STATE;//for-wpa value domain of pMacEntry->WpaState  802.1i D3   p.114typedef enum _ApWpaState {    AS_NOTUSE,              // 0    AS_DISCONNECT,          // 1    AS_DISCONNECTED,        // 2    AS_INITIALIZE,          // 3    AS_AUTHENTICATION,      // 4    AS_AUTHENTICATION2,     // 5    AS_INITPMK,             // 6    AS_INITPSK,             // 7    AS_PTKSTART,            // 8    AS_PTKINIT_NEGOTIATING, // 9    AS_PTKINITDONE,         // 10    AS_UPDATEKEYS,          // 11    AS_INTEGRITY_FAILURE,   // 12    AS_KEYUPDATE,           // 13} AP_WPA_STATE;// for-wpa value domain of pMacEntry->WpaState  802.1i D3   p.114typedef enum _GTKState {    REKEY_NEGOTIATING,    REKEY_ESTABLISHED,    KEYERROR,} GTK_STATE;//  for-wpa  value domain of pMacEntry->WpaState  802.1i D3   p.114typedef enum _WpaGTKState {    SETKEYS,    SETKEYS_DONE,} WPA_GTK_STATE;// ====================== end of AP mlme.h ============================#endif	// MLME_H__

⌨️ 快捷键说明

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