Annotation of embedaddon/strongswan/src/libcharon/sa/ikev2/tasks/ike_init.h, revision 1.1.1.1
1.1 misho 1: /*
2: * Copyright (C) 2007 Martin Willi
3: * HSR Hochschule fuer Technik Rapperswil
4: *
5: * This program is free software; you can redistribute it and/or modify it
6: * under the terms of the GNU General Public License as published by the
7: * Free Software Foundation; either version 2 of the License, or (at your
8: * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>.
9: *
10: * This program is distributed in the hope that it will be useful, but
11: * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
12: * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
13: * for more details.
14: */
15:
16: /**
17: * @defgroup ike_init ike_init
18: * @{ @ingroup tasks_v2
19: */
20:
21: #ifndef IKE_INIT_H_
22: #define IKE_INIT_H_
23:
24: typedef struct ike_init_t ike_init_t;
25:
26: #include <library.h>
27: #include <sa/ike_sa.h>
28: #include <sa/task.h>
29:
30: /**
31: * Task of type TASK_IKE_INIT, creates an IKE_SA without authentication.
32: *
33: * The authentication of is handle in the ike_auth task.
34: */
35: struct ike_init_t {
36:
37: /**
38: * Implements the task_t interface
39: */
40: task_t task;
41:
42: /**
43: * Get the lower of the two nonces, used for rekey collisions.
44: *
45: * @return lower nonce
46: */
47: chunk_t (*get_lower_nonce) (ike_init_t *this);
48: };
49:
50: /**
51: * Create a new TASK_IKE_INIT task.
52: *
53: * @param ike_sa IKE_SA this task works for (new one when rekeying)
54: * @param initiator TRUE if task is the original initiator
55: * @param old_sa old IKE_SA when we are rekeying
56: * @return ike_init task to handle by the task_manager
57: */
58: ike_init_t *ike_init_create(ike_sa_t *ike_sa, bool initiator, ike_sa_t *old_sa);
59:
60: #endif /** IKE_INIT_H_ @}*/
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>