📄 mlme.h
字号:
} CIPHER_SUITE, *PCIPHER_SUITE;// EDCA configuration from AP's BEACON/ProbeRsptypedef struct PACKED { BOOLEAN bValid; // 1: variable contains valid value BOOLEAN bQAck; BOOLEAN bQueueRequest; BOOLEAN bTxopRequest;// 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 PACKED { BOOLEAN bValid; // 1: variable contains valid value USHORT StaNum; UCHAR ChannelUtilization; USHORT RemainingAdmissionControl; // in unit of 32-us} QBSS_LOAD_PARM, *PQBSS_LOAD_PARM;// QOS Capability reported in QAP's BEACON/ProbeRsp// QOS Capability sent out in QSTA's AssociateReq/ReAssociateReqtypedef struct PACKED { BOOLEAN bValid; // 1: variable contains valid value BOOLEAN bQAck; BOOLEAN bQueueRequest; BOOLEAN bTxopRequest;// BOOLEAN bMoreDataAck; UCHAR EdcaUpdateCount;} QOS_CAPABILITY_PARM, *PQOS_CAPABILITY_PARM;typedef struct { UCHAR Bssid[MAC_ADDR_LEN]; UCHAR 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; UCHAR 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]; unsigned long LastBeaconRxTime; // OS's timestamp // 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; UCHAR AuthBitMode; NDIS_802_11_WEP_STATUS WepStatus; // Unicast Encryption Algorithm extract from VAR_IE UCHAR 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;} 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 { UCHAR Msg[MAX_LEN_OF_MLME_BUFFER]; ULONG Machine; ULONG MsgType; ULONG MsgLen; LARGE_INTEGER TimeStamp; UCHAR Rssi; UCHAR Signal; UCHAR Channel; BOOLEAN Occupied; BOOLEAN bReqIsFromNdis;} MLME_QUEUE_ELEM, *PMLME_QUEUE_ELEM;typedef struct _MLME_QUEUE { ULONG Num; ULONG Head; ULONG Tail; spinlock_t 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->ActiveCfg.// 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->ActiveCfg 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; 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; // 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; // TRUE - then we should call NdisMSetInformationComplete() // FALSE - req is from driver itself. // no NdisMSetInformationComplete() is required RALINK_TIMER_STRUCT BeaconTimer, ScanTimer; RALINK_TIMER_STRUCT AuthTimer; RALINK_TIMER_STRUCT AssocTimer, ReassocTimer;} MLME_AUX, *PMLME_AUX;// 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 { UCHAR Eid; UCHAR Len; CHAR Octet[1];} EID_STRUCT,*PEID_STRUCT;#endif // __MLME_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -