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

📄 mlme.h

📁 Linux下的RT系列无线网卡驱动,可以直接在x86平台上编译
💻 H
📖 第 1 页 / 共 3 页
字号:
    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 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 /* !BIG_ENDIAN */} QBSS_STA_INFO_PARM, *PQBSS_STA_INFO_PARM;// QBSS Info field in QAP's Beacon/ProbeRsptypedef struct PACKED {#ifdef BIG_ENDIAN	UCHAR		UAPSD:1;	UCHAR		Rsv:3;    UCHAR		ParamSetCount:4;#else    UCHAR		ParamSetCount:4;	UCHAR		Rsv:3;	UCHAR		UAPSD:1;#endif /* !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_SUPPORT#ifdef WPA_SUPPLICANT_SUPPORT#define SSID_MAX_WPA_IE_LEN 40typedef struct {    UCHAR       IELen;    UCHAR       IE[SSID_MAX_WPA_IE_LEN];} WPA_IE_;#endif // WPA_SUPPLICANT_SUPPORT //#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#ifdef WPA_SUPPLICANT_SUPPORT    WPA_IE_     WpaIE;	//It's content should be little-endian format.#endif // WPA_SUPPLICANT_SUPPORT //#endif // CONFIG_STA_SUPPORT //} BSS_ENTRY, *PBSS_ENTRY;typedef struct {    UCHAR           BssNr;    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;} 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;} 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;typedef struct PACKED {    UCHAR   Eid;    UCHAR   Len;    CHAR   Octet[1];} EID_STRUCT,*PEID_STRUCT, BEACON_EID_STRUCT, *PBEACON_EID_STRUCT;typedef struct  _RTMP_TX_RATE_SWITCH{	UCHAR   ItemNo;#ifdef 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)// 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 ============================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;#endif	// MLME_H__

⌨️ 快捷键说明

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