00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef EAP_IKEV2_COMMON_H
00016 #define EAP_IKEV2_COMMON_H
00017
00018 #ifdef CCNS_PL
00019
00020 #define IKEV2_FLAGS_LENGTH_INCLUDED 0x01
00021 #define IKEV2_FLAGS_MORE_FRAGMENTS 0x02
00022 #define IKEV2_FLAGS_ICV_INCLUDED 0x04
00023 #else
00024 #define IKEV2_FLAGS_LENGTH_INCLUDED 0x80
00025 #define IKEV2_FLAGS_MORE_FRAGMENTS 0x40
00026 #define IKEV2_FLAGS_ICV_INCLUDED 0x20
00027 #endif
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