📄 mlme.h
字号:
MACADDR Addr3; USHORT Frag:4; USHORT Seq:12;} MACHDR, *PMACHDR;typedef struct _MACFRAME { MACHDR Hdr; CHAR Octet[1];} MACFRAME, *PMACFRAME;typedef struct _PSPOLL_FRAME { USHORT Ver:2; USHORT Type:2; USHORT SubType:4; USHORT Tods:1; USHORT Frds:1; USHORT MoreFrag:1; USHORT Retry:1; USHORT PwrMgmt:1; USHORT MoreData:1; USHORT Wep:1; USHORT Order:1; USHORT Aid; MACADDR Bssid; MACADDR Ta;} PSPOLL_FRAME;//// Contention-free parameter (without ID and Length)//typedef struct _CF_PARM { 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; typedef struct { MACADDR Bssid; UCHAR Channel; UCHAR BssType; USHORT AtimWin; USHORT BeaconPeriod; UCHAR Rates[MAX_LEN_OF_SUPPORTED_RATES]; UCHAR RatesLen; BOOLEAN ExtendedRateIeExist; // records if this AP use EXTENDED_SUPPORTED_RATES IE 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]; ULONG 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; 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];} 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 Rssi; BOOLEAN Occupied; UCHAR Msg[MAX_LEN_OF_MLME_BUFFER];} 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;// CNTL State Machine Aux data structuretypedef struct _CNTL_AUX { UCHAR Ssid[MAX_LEN_OF_SSID]; UCHAR SsidLen; MACADDR Bssid; 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} CNTL_AUX, *PCNTL_AUX;// ASSOC State Machine Aux data structuretypedef struct _ASSOC_AUX { MACADDR Addr; USHORT CapabilityInfo; USHORT ListenIntv; CHAR Ssid[MAX_LEN_OF_SSID]; UCHAR SsidLen; RALINK_TIMER_STRUCT AssocTimer, ReassocTimer, DisassocTimer;} ASSOC_AUX, *PASSOC_AUX;// AUTH State Machine Aux data structuretypedef struct _AUTH_AUX { MACADDR Addr; USHORT Alg; RALINK_TIMER_STRUCT AuthTimer;} AUTH_AUX, *PAUTH_AUX;// AUTH-RSP State Machine Aux data structuretypedef struct _AUTH_RSP_AUX { MACADDR Addr; USHORT Alg; CHAR Challenge[CIPHER_TEXT_LEN]; RALINK_TIMER_STRUCT AuthRspTimer;} AUTH_RSP_AUX, *PAUTH_RSP_AUX;// SYNC State Machine Aux data structuretypedef struct _SYNC_AUX { MACADDR Addr; MACADDR Bssid; UCHAR BssType; UCHAR SsidLen; CHAR Ssid[MAX_LEN_OF_SSID]; UCHAR ScanType; UCHAR Channel; RALINK_TIMER_STRUCT BeaconTimer, ScanTimer;} SYNC_AUX; // assoc struct is equal to reassoctypedef struct _MLME_ASSOC_REQ_STRUCT{ MACADDR Addr; 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{ MACADDR Addr; USHORT Reason;} MLME_DISASSOC_REQ_STRUCT, *PMLME_DISASSOC_REQ_STRUCT;typedef struct _MLME_AUTH_REQ_STRUCT { MACADDR Addr; USHORT Alg; ULONG Timeout;} MLME_AUTH_REQ_STRUCT, *PMLME_AUTH_REQ_STRUCT;typedef struct _MLME_DEAUTH_REQ_STRUCT { MACADDR Addr; USHORT Reason;} MLME_DEAUTH_REQ_STRUCT, *PMLME_DEAUTH_REQ_STRUCT;//typedef struct _MLME_AUTH_IND_STRUCT {// MACADDR Addr;// USHORT Alg;//} MLME_AUTH_IND_STRUCT, *PMLME_AUTH_IND_STRUCT;//typedef struct _CLS2ERR_STRUCT {// MACADDR Addr;//} CLS2ERR_STRUCT, *PCLS2ERR_STRUCT;typedef struct { ULONG BssIdx;} MLME_JOIN_REQ_STRUCT;typedef struct _MLME_SCAN_REQ_STRUCT { MACADDR Bssid; 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 _ARC4_CONTEXT { UCHAR x, y, State[256], Key[16]; // 128 bits key} ARC4_CONTEXT, *PARC4_CONTEXT;typedef struct _BEACON_EID_STRUCT { UCHAR Eid; UCHAR Len; CHAR Octet[1];} BEACON_EID_STRUCT,*PBEACON_EID_STRUCT;// New for WPA cipher suite typedef struct _RSN_EID_STRUCT { UCHAR Eid; UCHAR Length; UCHAR Oui[4]; USHORT Version; UCHAR Multicast[4]; USHORT Count; struct { UCHAR Oui[4]; } Unicast[1];} RSN_EID_STRUCT, *PRSN_EID_STRUCT;extern UCHAR RateIdToMbps[];extern USHORT RateIdTo500Kbps[];#endif // MLME_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -