139beb93cSSam Leffler /* 239beb93cSSam Leffler * EAP-IKEv2 definitions 339beb93cSSam Leffler * Copyright (c) 2007, Jouni Malinen <j@w1.fi> 439beb93cSSam Leffler * 5*f05cddf9SRui Paulo * This software may be distributed under the terms of the BSD license. 6*f05cddf9SRui Paulo * See README for more details. 739beb93cSSam Leffler */ 839beb93cSSam Leffler 939beb93cSSam Leffler #ifndef EAP_IKEV2_COMMON_H 1039beb93cSSam Leffler #define EAP_IKEV2_COMMON_H 1139beb93cSSam Leffler 1239beb93cSSam Leffler #define IKEV2_FLAGS_LENGTH_INCLUDED 0x80 1339beb93cSSam Leffler #define IKEV2_FLAGS_MORE_FRAGMENTS 0x40 1439beb93cSSam Leffler #define IKEV2_FLAGS_ICV_INCLUDED 0x20 1539beb93cSSam Leffler 1639beb93cSSam Leffler #define IKEV2_FRAGMENT_SIZE 1400 1739beb93cSSam Leffler 1839beb93cSSam Leffler struct ikev2_keys; 1939beb93cSSam Leffler 2039beb93cSSam Leffler int eap_ikev2_derive_keymat(int prf, struct ikev2_keys *keys, 2139beb93cSSam Leffler const u8 *i_nonce, size_t i_nonce_len, 2239beb93cSSam Leffler const u8 *r_nonce, size_t r_nonce_len, 2339beb93cSSam Leffler u8 *keymat); 2439beb93cSSam Leffler struct wpabuf * eap_ikev2_build_frag_ack(u8 id, u8 code); 2539beb93cSSam Leffler int eap_ikev2_validate_icv(int integ_alg, struct ikev2_keys *keys, 2639beb93cSSam Leffler int initiator, const struct wpabuf *msg, 2739beb93cSSam Leffler const u8 *pos, const u8 *end); 2839beb93cSSam Leffler 2939beb93cSSam Leffler #endif /* EAP_IKEV2_COMMON_H */ 30