?? leap.h
字號:
/* ************************************************************************* * Ralink Tech Inc. * 5F., No.36, Taiyuan St., Jhubei City, * Hsinchu County 302, * Taiwan, R.O.C. * * (c) Copyright 2002-2007, Ralink Technology, Inc. * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * * along with this program; if not, write to the * * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * * ************************************************************************* Module Name: leap.h Abstract: Revision History: Who When What -------- ---------- ---------------------------------------------- Name Date Modification logs*/#ifndef __LEAP_H__#define __LEAP_H__// Messages for Associate state machine#define LEAP_MACHINE_BASE 30#define LEAP_MSG_REQUEST_IDENTITY 31#define LEAP_MSG_REQUEST_LEAP 32#define LEAP_MSG_SUCCESS 33#define LEAP_MSG_FAILED 34#define LEAP_MSG_RESPONSE_LEAP 35#define LEAP_MSG_EAPOLKEY 36#define LEAP_MSG_UNKNOWN 37#define LEAP_MSG 38//! assoc state-machine states#define LEAP_IDLE 0#define LEAP_WAIT_IDENTITY_REQUEST 1#define LEAP_WAIT_CHANLLENGE_REQUEST 2#define LEAP_WAIT_SUCCESS 3#define LEAP_WAIT_CHANLLENGE_RESPONSE 4#define LEAP_WAIT_EAPOLKEY 5#define LEAP_REASON_INVALID_AUTH 0x01#define LEAP_REASON_AUTH_TIMEOUT 0x02#define LEAP_REASON_CHALLENGE_FROM_AP_FAILED 0x03#define LEAP_REASON_CHALLENGE_TO_AP_FAILED 0x04#define CISCO_AuthModeLEAP 0x80#define CISCO_AuthModeLEAPNone 0x00#define LEAP_AUTH_TIMEOUT 30000#define LEAP_CHALLENGE_RESPONSE_LENGTH 24#define LEAP_CHALLENGE_REQUEST_LENGTH 8typedef struct _LEAP_EAPOL_HEADER_ { UCHAR Version; UCHAR Type; UCHAR Length[2];} LEAP_EAPOL_HEADER, *PLEAP_EAPOL_HEADER;typedef struct _LEAP_EAPOL_PACKET_ { UCHAR Code; UCHAR Identifier; UCHAR Length[2]; UCHAR Type;} LEAP_EAPOL_PACKET, *PLEAP_EAPOL_PACKET;typedef struct _LEAP_EAP_CONTENTS_ { UCHAR Version; UCHAR Reserved; UCHAR Length;} LEAP_EAP_CONTENTS, *PLEAP_EAP_CONTENTS;/*** EAPOL key ***/typedef struct _EAPOL_KEY_HEADER_ { UCHAR Type; UCHAR Length[2]; UCHAR Counter[8]; UCHAR IV[16]; UCHAR Index; UCHAR Signature[16];} EAPOL_KEY_HEADER, *PEAPOL_KEY_HEADER;BOOLEAN LeapMsgTypeSubst( IN UCHAR EAPType, OUT ULONG *MsgType);VOID LeapMachinePerformAction( IN PRTMP_ADAPTER pAd, IN STATE_MACHINE *S, IN MLME_QUEUE_ELEM *Elem);VOID LeapMacHeaderInit( IN PRTMP_ADAPTER pAd, IN OUT PHEADER_802_11 pHdr80211, IN UCHAR wep, IN PUCHAR pAddr3);VOID LeapStartAction( IN PRTMP_ADAPTER pAd, IN MLME_QUEUE_ELEM *Elem);VOID LeapIdentityAction( IN PRTMP_ADAPTER pAd, IN MLME_QUEUE_ELEM *Elem);VOID LeapPeerChallengeAction( IN PRTMP_ADAPTER pAd, IN MLME_QUEUE_ELEM *Elem);VOID HashPwd( IN PUCHAR pwd, IN INT pwdlen, OUT PUCHAR hash);VOID PeerChallengeResponse( IN PUCHAR szChallenge, IN PUCHAR smbPasswd, OUT PUCHAR szResponse);VOID ParityKey( OUT PUCHAR szOut, IN PUCHAR szIn);VOID DesKey( OUT ULONG k[16][2], IN PUCHAR key, IN INT decrypt);VOID Des( IN ULONG ks[16][2], OUT UCHAR block[8]);VOID DesEncrypt( IN PUCHAR szClear, IN PUCHAR szKey, OUT PUCHAR szOut);VOID LeapNetworkChallengeAction( IN PRTMP_ADAPTER pAd, IN MLME_QUEUE_ELEM *Elem);VOID LeapNetworkChallengeResponse( IN PRTMP_ADAPTER pAd, IN MLME_QUEUE_ELEM *Elem);VOID HashpwdHash( IN PUCHAR hash, IN PUCHAR hashhash);VOID ProcessSessionKey( OUT PUCHAR SessionKey, IN PUCHAR hash2, IN PUCHAR ChallengeToRadius, IN PUCHAR ChallengeResponseFromRadius, IN PUCHAR ChallengeFromRadius, IN PUCHAR ChallengeResponseToRadius);VOID LeapEapolKeyAction( IN PRTMP_ADAPTER pAd, IN MLME_QUEUE_ELEM *Elem);VOID RogueApTableInit( IN ROGUEAP_TABLE *Tab);ULONG RogueApTableSearch( IN ROGUEAP_TABLE *Tab, IN PUCHAR pAddr);VOID RogueApEntrySet( IN PRTMP_ADAPTER pAd, OUT ROGUEAP_ENTRY *pRogueAp, IN PUCHAR pAddr, IN UCHAR FaileCode);ULONG RogueApTableSetEntry( IN PRTMP_ADAPTER pAd, OUT ROGUEAP_TABLE *Tab, IN PUCHAR pAddr, IN UCHAR FaileCode);VOID RogueApTableDeleteEntry( IN OUT ROGUEAP_TABLE *Tab, IN PUCHAR pAddr);VOID LeapAuthTimeout( IN PVOID SystemSpecific1, IN PVOID FunctionContext, IN PVOID SystemSpecific2, IN PVOID SystemSpecific3);VOID LeapSendRogueAPReport( IN PRTMP_ADAPTER pAd);BOOLEAN CCKMAssocRspSanity( IN PRTMP_ADAPTER pAd, IN VOID *Msg, IN ULONG MsgLen);#endif // __LEAP_H__
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -