xref: /dflybsd-src/contrib/wpa_supplicant/src/eap_common/eap_ikev2_common.h (revision 3a84a4273475ed07d0ab1c2dfeffdfedef35d9cd)
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