blob: 329ccc4d7a1be04acabfd596d52a43f090f76149 [file] [log] [blame] [edit]
/*
* EAP-IKEv2 definitions
* Copyright (c) 2007, Jouni Malinen <j@w1.fi>
*
* This software may be distributed under the terms of the BSD license.
* See README for more details.
*/
#ifndef EAP_IKEV2_COMMON_H
#define EAP_IKEV2_COMMON_H
#ifdef CCNS_PL
/* incorrect bit order */
#define IKEV2_FLAGS_LENGTH_INCLUDED 0x01
#define IKEV2_FLAGS_MORE_FRAGMENTS 0x02
#define IKEV2_FLAGS_ICV_INCLUDED 0x04
#else /* CCNS_PL */
#define IKEV2_FLAGS_LENGTH_INCLUDED 0x80
#define IKEV2_FLAGS_MORE_FRAGMENTS 0x40
#define IKEV2_FLAGS_ICV_INCLUDED 0x20
#endif /* CCNS_PL */
#define IKEV2_FRAGMENT_SIZE 1400
struct ikev2_keys;
int eap_ikev2_derive_keymat(int prf, struct ikev2_keys *keys,
const u8 *i_nonce, size_t i_nonce_len,
const u8 *r_nonce, size_t r_nonce_len,
u8 *keymat);
struct wpabuf * eap_ikev2_build_frag_ack(u8 id, u8 code);
int eap_ikev2_validate_icv(int integ_alg, struct ikev2_keys *keys,
int initiator, const struct wpabuf *msg,
const u8 *pos, const u8 *end);
#endif /* EAP_IKEV2_COMMON_H */