1  /*
2   * EAP-IKEv2 definitions
3   * Copyright (c) 2007, Jouni Malinen <j@w1.fi>
4   *
5   * This software may be distributed under the terms of the BSD license.
6   * See README for more details.
7   */
8  
9  #ifndef EAP_IKEV2_COMMON_H
10  #define EAP_IKEV2_COMMON_H
11  
12  #define IKEV2_FLAGS_LENGTH_INCLUDED 0x80
13  #define IKEV2_FLAGS_MORE_FRAGMENTS 0x40
14  #define IKEV2_FLAGS_ICV_INCLUDED 0x20
15  
16  #define IKEV2_FRAGMENT_SIZE 1400
17  
18  struct ikev2_keys;
19  
20  int eap_ikev2_derive_keymat(int prf, struct ikev2_keys *keys,
21  			    const u8 *i_nonce, size_t i_nonce_len,
22  			    const u8 *r_nonce, size_t r_nonce_len,
23  			    u8 *keymat);
24  struct wpabuf * eap_ikev2_build_frag_ack(u8 id, u8 code);
25  int eap_ikev2_validate_icv(int integ_alg, struct ikev2_keys *keys,
26  			   int initiator, const struct wpabuf *msg,
27  			   const u8 *pos, const u8 *end);
28  
29  #endif /* EAP_IKEV2_COMMON_H */
30