1189251Ssam/* 2189251Ssam * EAP-IKEv2 definitions 3189251Ssam * Copyright (c) 2007, Jouni Malinen <j@w1.fi> 4189251Ssam * 5252726Srpaulo * This software may be distributed under the terms of the BSD license. 6252726Srpaulo * See README for more details. 7189251Ssam */ 8189251Ssam 9189251Ssam#ifndef EAP_IKEV2_COMMON_H 10189251Ssam#define EAP_IKEV2_COMMON_H 11189251Ssam 12189251Ssam#ifdef CCNS_PL 13189251Ssam/* incorrect bit order */ 14189251Ssam#define IKEV2_FLAGS_LENGTH_INCLUDED 0x01 15189251Ssam#define IKEV2_FLAGS_MORE_FRAGMENTS 0x02 16189251Ssam#define IKEV2_FLAGS_ICV_INCLUDED 0x04 17189251Ssam#else /* CCNS_PL */ 18189251Ssam#define IKEV2_FLAGS_LENGTH_INCLUDED 0x80 19189251Ssam#define IKEV2_FLAGS_MORE_FRAGMENTS 0x40 20189251Ssam#define IKEV2_FLAGS_ICV_INCLUDED 0x20 21189251Ssam#endif /* CCNS_PL */ 22189251Ssam 23189251Ssam#define IKEV2_FRAGMENT_SIZE 1400 24189251Ssam 25189251Ssamstruct ikev2_keys; 26189251Ssam 27189251Ssamint eap_ikev2_derive_keymat(int prf, struct ikev2_keys *keys, 28189251Ssam const u8 *i_nonce, size_t i_nonce_len, 29189251Ssam const u8 *r_nonce, size_t r_nonce_len, 30189251Ssam u8 *keymat); 31189251Ssamstruct wpabuf * eap_ikev2_build_frag_ack(u8 id, u8 code); 32189251Ssamint eap_ikev2_validate_icv(int integ_alg, struct ikev2_keys *keys, 33189251Ssam int initiator, const struct wpabuf *msg, 34189251Ssam const u8 *pos, const u8 *end); 35189251Ssam 36189251Ssam#endif /* EAP_IKEV2_COMMON_H */ 37