1 /* 2 * EAPOL definitions shared between hostapd and wpa_supplicant 3 * Copyright (c) 2002-2007, Jouni Malinen <j (at) w1.fi> 4 * 5 * This program is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License version 2 as 7 * published by the Free Software Foundation. 8 * 9 * Alternatively, this software may be distributed under the terms of BSD 10 * license. 11 * 12 * See README and COPYING for more details. 13 */ 14 15 #ifndef EAPOL_COMMON_H 16 #define EAPOL_COMMON_H 17 18 /* IEEE Std 802.1X-2004 */ 19 20 #ifdef _MSC_VER 21 #pragma pack(push, 1) 22 #endif /* _MSC_VER */ 23 24 struct ieee802_1x_hdr { 25 u8 version; 26 u8 type; 27 be16 length; 28 /* followed by length octets of data */ 29 } STRUCT_PACKED; 30 31 #ifdef _MSC_VER 32 #pragma pack(pop) 33 #endif /* _MSC_VER */ 34 35 #define EAPOL_VERSION 2 36 37 enum { IEEE802_1X_TYPE_EAP_PACKET = 0, 38 IEEE802_1X_TYPE_EAPOL_START = 1, 39 IEEE802_1X_TYPE_EAPOL_LOGOFF = 2, 40 IEEE802_1X_TYPE_EAPOL_KEY = 3, 41 IEEE802_1X_TYPE_EAPOL_ENCAPSULATED_ASF_ALERT = 4 42 }; 43 44 enum { EAPOL_KEY_TYPE_RC4 = 1, EAPOL_KEY_TYPE_RSN = 2, 45 EAPOL_KEY_TYPE_WPA = 254 }; 46 47 #endif /* EAPOL_COMMON_H */ 48