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

📄 wpa.h

📁 r73模块的无线网卡在Linux下的驱动程序
💻 H
字号:
/*************************************************************************** * RT2x00 SourceForge Project - http://rt2x00.serialmonkey.com             * *                                                                         * *   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.             * *                                                                         * *   Licensed under the GNU GPL                                            * *   Original code supplied under license from RaLink Inc, 2004.           * ***************************************************************************//*************************************************************************** *	Module Name:	wpa.h * *	Abstract: * *	Revision History: *	Who		When		What *	--------	----------	----------------------------- * ***************************************************************************/#ifndef __WPA_H__#define __WPA_H__// WpaPsk EAPOL Key descripter frame format related length#define LEN_KEY_DESC_NONCE          32#define LEN_KEY_DESC_IV             16#define LEN_KEY_DESC_RSC            8#define LEN_KEY_DESC_ID             8#define LEN_KEY_DESC_REPLAY         8#define LEN_KEY_DESC_MIC            16//EPA VERSION#define EAPOL_VER                   1#define DESC_TYPE_TKIP              1#define DESC_TYPE_AES               2#define RSN_KEY_DESC                0xfe#define WPA1_KEY_DESC		        0xFE#define WPA2_KEY_DESC		        0x2#define LEN_MASTER_KEY              32// EAPOL EK, MK#define LEN_EAP_EK                  16#define LEN_EAP_MICK                16#define LEN_EAP_KEY                 ((LEN_EAP_EK)+(LEN_EAP_MICK))// TKIP key related#define LEN_TKIP_EK                 16#define LEN_TKIP_RXMICK             8#define LEN_TKIP_TXMICK             8#define LEN_AES_EK                  16#define LEN_AES_KEY                 LEN_AES_EK#define LEN_TKIP_KEY                ((LEN_TKIP_EK)+(LEN_TKIP_RXMICK)+(LEN_TKIP_TXMICK))#define TKIP_AP_TXMICK_OFFSET       ((LEN_EAP_KEY)+(LEN_TKIP_EK))#define TKIP_AP_RXMICK_OFFSET       (TKIP_AP_TXMICK_OFFSET+LEN_TKIP_TXMICK)#define TKIP_GTK_LENGTH             ((LEN_TKIP_EK)+(LEN_TKIP_RXMICK)+(LEN_TKIP_TXMICK))#define LEN_PTK                     ((LEN_EAP_KEY)+(LEN_TKIP_KEY))//#define MAX_LEN_OF_RSNIE            48//EAP Packet Type#define EAPPacket       0#define EAPOLStart      1#define EAPOLLogoff     2#define EAPOLKey        3#define EAPOLASFAlert   4#define EAPTtypeMax     5#define EAPOL_MSG_INVALID   0#define EAPOL_PAIR_MSG_1    1#define EAPOL_PAIR_MSG_3    2#define EAPOL_GROUP_MSG_1   3//#if WPA_SUPPLICANT_SUPPORT/* RFC 3748 - Extensible Authentication Protocol (EAP) */struct eap_hdr {	u8 code;	u8 identifier;	u16 length; /* including code and identifier; network byte order */	/* followed by length-4 octets of data */} __attribute__ ((packed));enum { EAP_CODE_REQUEST = 1, EAP_CODE_RESPONSE = 2, EAP_CODE_SUCCESS = 3,       EAP_CODE_FAILURE = 4 };#define	LENGTH_EAP_H				4/* EAP Request and Response data begins with one octet Type. Success and * Failure do not have additional data. */typedef enum {	EAP_TYPE_NONE = 0,	EAP_TYPE_IDENTITY = 1 /* RFC 3748 */,	EAP_TYPE_NOTIFICATION = 2 /* RFC 3748 */,	EAP_TYPE_NAK = 3 /* Response only, RFC 3748 */,	EAP_TYPE_MD5 = 4, /* RFC 3748 */	EAP_TYPE_OTP = 5 /* RFC 3748 */,	EAP_TYPE_GTC = 6, /* RFC 3748 */	EAP_TYPE_TLS = 13 /* RFC 2716 */,	EAP_TYPE_LEAP = 17 /* Cisco proprietary */,	EAP_TYPE_SIM = 18 /* draft-haverinen-pppext-eap-sim-12.txt */,	EAP_TYPE_TTLS = 21 /* draft-ietf-pppext-eap-ttls-02.txt */,	EAP_TYPE_AKA = 23 /* draft-arkko-pppext-eap-aka-12.txt */,	EAP_TYPE_PEAP = 25 /* draft-josefsson-pppext-eap-tls-eap-06.txt */,	EAP_TYPE_MSCHAPV2 = 26 /* draft-kamath-pppext-eap-mschapv2-00.txt */,	EAP_TYPE_TLV = 33 /* draft-josefsson-pppext-eap-tls-eap-07.txt */,	EAP_TYPE_FAST = 43 /* draft-cam-winget-eap-fast-00.txt */,	EAP_TYPE_PAX = 46, /* draft-clancy-eap-pax-04.txt */	EAP_TYPE_EXPANDED_NAK = 254 /* RFC 3748 */,	EAP_TYPE_PSK = 255 /* EXPERIMENTAL - type not yet allocated			    * draft-bersani-eap-psk-09 */} EapType;//#endif// EAPOL Key Information definition within Key descriptor formattypedef struct PACKED _KEY_INFO{#ifdef BIG_ENDIAN    UCHAR	KeyAck:1;    UCHAR	Install:1;    UCHAR	KeyIndex:2;    UCHAR	KeyType:1;    UCHAR	KeyDescVer:3;    UCHAR	Rsvd:3;    UCHAR	EKD_DL:1;       // EKD for AP; DL for STA    UCHAR	Request:1;    UCHAR	Error:1;    UCHAR	Secure:1;    UCHAR	KeyMic:1;#else    UCHAR   KeyMic:1;    UCHAR   Secure:1;    UCHAR   Error:1;    UCHAR   Request:1;    UCHAR   EKD_DL:1;       // EKD for AP; DL for STA    UCHAR   Rsvd:3;    UCHAR   KeyDescVer:3;    UCHAR   KeyType:1;    UCHAR   KeyIndex:2;    UCHAR   Install:1;    UCHAR   KeyAck:1;#endif}   KEY_INFO, *PKEY_INFO;// EAPOL Key descriptor formattypedef struct PACKED _KEY_DESCRIPTER{    UCHAR       Type;    KEY_INFO    KeyInfo;    UCHAR       KeyLength[2];    UCHAR       ReplayCounter[LEN_KEY_DESC_REPLAY];    UCHAR       KeyNonce[LEN_KEY_DESC_NONCE];    UCHAR       KeyIv[LEN_KEY_DESC_IV];    UCHAR       KeyRsc[LEN_KEY_DESC_RSC];    UCHAR       KeyId[LEN_KEY_DESC_ID];    UCHAR       KeyMic[LEN_KEY_DESC_MIC];    UCHAR       KeyDataLen[2];    UCHAR       KeyData[MAX_LEN_OF_RSNIE];}   KEY_DESCRIPTER, *PKEY_DESCRIPTER;typedef struct PACKED _EAPOL_PACKET{    UCHAR               Version;    UCHAR               Type;    UCHAR               Len[2];    KEY_DESCRIPTER      KeyDesc;}   EAPOL_PACKET, *PEAPOL_PACKET;//802.11i D10 page 83typedef struct  _GTK_ENCAP{    UCHAR               Kid:2;    UCHAR               tx:1;    UCHAR               rsv:5;    UCHAR               rsv1;    UCHAR               GTK[32];}   GTK_ENCAP, *PGTK_ENCAP;typedef struct  _KDE_ENCAP{    UCHAR               Type;    UCHAR               Len;    UCHAR               OUI[3];    UCHAR               DataType;    GTK_ENCAP      GTKEncap;}   KDE_ENCAP, *PKDE_ENCAP;// For supplicant state machine states. 802.11i Draft 4.1, p. 97// We simplified ittypedef enum    _WpaState{    SS_NOTUSE,              // 0    SS_START,               // 1    SS_WAIT_MSG_3,          // 2    SS_WAIT_GROUP,          // 3    SS_FINISH,              // 4    SS_KEYUPDATE,           // 5}   WPA_STATE;#endif   // __WPA_H__

⌨️ 快捷键说明

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