00001 /* 00002 * EAPOL definitions shared between hostapd and wpa_supplicant 00003 * Copyright (c) 2002-2007, Jouni Malinen <j@w1.fi> 00004 * 00005 * This program is free software; you can redistribute it and/or modify 00006 * it under the terms of the GNU General Public License version 2 as 00007 * published by the Free Software Foundation. 00008 * 00009 * Alternatively, this software may be distributed under the terms of BSD 00010 * license. 00011 * 00012 * See README and COPYING for more details. 00013 */ 00014 00015 #ifndef EAPOL_COMMON_H 00016 #define EAPOL_COMMON_H 00017 00018 /* IEEE Std 802.1X-2004 */ 00019 00020 #ifdef _MSC_VER 00021 #pragma pack(push, 1) 00022 #endif /* _MSC_VER */ 00023 00024 struct ieee802_1x_hdr { 00025 u8 version; 00026 u8 type; 00027 be16 length; 00028 /* followed by length octets of data */ 00029 } STRUCT_PACKED; 00030 00031 #ifdef _MSC_VER 00032 #pragma pack(pop) 00033 #endif /* _MSC_VER */ 00034 00035 #define EAPOL_VERSION 2 00036 00037 enum { IEEE802_1X_TYPE_EAP_PACKET = 0, 00038 IEEE802_1X_TYPE_EAPOL_START = 1, 00039 IEEE802_1X_TYPE_EAPOL_LOGOFF = 2, 00040 IEEE802_1X_TYPE_EAPOL_KEY = 3, 00041 IEEE802_1X_TYPE_EAPOL_ENCAPSULATED_ASF_ALERT = 4 00042 }; 00043 00044 enum { EAPOL_KEY_TYPE_RC4 = 1, EAPOL_KEY_TYPE_RSN = 2, 00045 EAPOL_KEY_TYPE_WPA = 254 }; 00046 00047 #endif /* EAPOL_COMMON_H */