16d49e1aeSJan Lentfer /* 26d49e1aeSJan Lentfer * EAP-IKEv2 definitions 36d49e1aeSJan Lentfer * Copyright (c) 2007, Jouni Malinen <j@w1.fi> 46d49e1aeSJan Lentfer * 5*3ff40c12SJohn Marino * This software may be distributed under the terms of the BSD license. 6*3ff40c12SJohn Marino * See README for more details. 76d49e1aeSJan Lentfer */ 86d49e1aeSJan Lentfer 96d49e1aeSJan Lentfer #ifndef EAP_IKEV2_COMMON_H 106d49e1aeSJan Lentfer #define EAP_IKEV2_COMMON_H 116d49e1aeSJan Lentfer 126d49e1aeSJan Lentfer #define IKEV2_FLAGS_LENGTH_INCLUDED 0x80 136d49e1aeSJan Lentfer #define IKEV2_FLAGS_MORE_FRAGMENTS 0x40 146d49e1aeSJan Lentfer #define IKEV2_FLAGS_ICV_INCLUDED 0x20 156d49e1aeSJan Lentfer 166d49e1aeSJan Lentfer #define IKEV2_FRAGMENT_SIZE 1400 176d49e1aeSJan Lentfer 186d49e1aeSJan Lentfer struct ikev2_keys; 196d49e1aeSJan Lentfer 206d49e1aeSJan Lentfer int eap_ikev2_derive_keymat(int prf, struct ikev2_keys *keys, 216d49e1aeSJan Lentfer const u8 *i_nonce, size_t i_nonce_len, 226d49e1aeSJan Lentfer const u8 *r_nonce, size_t r_nonce_len, 236d49e1aeSJan Lentfer u8 *keymat); 246d49e1aeSJan Lentfer struct wpabuf * eap_ikev2_build_frag_ack(u8 id, u8 code); 256d49e1aeSJan Lentfer int eap_ikev2_validate_icv(int integ_alg, struct ikev2_keys *keys, 266d49e1aeSJan Lentfer int initiator, const struct wpabuf *msg, 276d49e1aeSJan Lentfer const u8 *pos, const u8 *end); 286d49e1aeSJan Lentfer 296d49e1aeSJan Lentfer #endif /* EAP_IKEV2_COMMON_H */ 30