$search
00001 /* 00002 * EAP-IKEv2 definitions 00003 * Copyright (c) 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 EAP_IKEV2_COMMON_H 00016 #define EAP_IKEV2_COMMON_H 00017 00018 #ifdef CCNS_PL 00019 /* incorrect bit order */ 00020 #define IKEV2_FLAGS_LENGTH_INCLUDED 0x01 00021 #define IKEV2_FLAGS_MORE_FRAGMENTS 0x02 00022 #define IKEV2_FLAGS_ICV_INCLUDED 0x04 00023 #else /* CCNS_PL */ 00024 #define IKEV2_FLAGS_LENGTH_INCLUDED 0x80 00025 #define IKEV2_FLAGS_MORE_FRAGMENTS 0x40 00026 #define IKEV2_FLAGS_ICV_INCLUDED 0x20 00027 #endif /* CCNS_PL */ 00028 00029 #define IKEV2_FRAGMENT_SIZE 1400 00030 00031 struct ikev2_keys; 00032 00033 int eap_ikev2_derive_keymat(int prf, struct ikev2_keys *keys, 00034 const u8 *i_nonce, size_t i_nonce_len, 00035 const u8 *r_nonce, size_t r_nonce_len, 00036 u8 *keymat); 00037 struct wpabuf * eap_ikev2_build_frag_ack(u8 id, u8 code); 00038 int eap_ikev2_validate_icv(int integ_alg, struct ikev2_keys *keys, 00039 int initiator, const struct wpabuf *msg, 00040 const u8 *pos, const u8 *end); 00041 00042 #endif /* EAP_IKEV2_COMMON_H */