Annotation of embedaddon/strongswan/src/libcharon/processing/jobs/migrate_job.h, revision 1.1.1.1
1.1 misho 1: /*
2: * Copyright (C) 2008 Andreas Steffen
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 migrate_job migrate_job
18: * @{ @ingroup cjobs
19: */
20:
21: #ifndef MIGRATE_JOB_H_
22: #define MIGRATE_JOB_H_
23:
24: typedef struct migrate_job_t migrate_job_t;
25:
26: #include <library.h>
27: #include <networking/host.h>
28: #include <selectors/traffic_selector.h>
29: #include <kernel/kernel_ipsec.h>
30: #include <processing/jobs/job.h>
31:
32: /**
33: * Class representing a MIGRATE Job.
34: *
35: * This job sets a routed CHILD_SA for an existing IPsec policy.
36: */
37: struct migrate_job_t {
38: /**
39: * The job_t interface.
40: */
41: job_t job_interface;
42: };
43:
44: /**
45: * Creates a job of type MIGRATE.
46: *
47: * We use the reqid or the traffic selectors to find a matching CHILD_SA.
48: *
49: * @param reqid reqid of the CHILD_SA to migrate
50: * @param src_ts source traffic selector to be used in the policy
51: * @param dst_ts destination traffic selector to be used in the policy
52: * @param dir direction of the policy (in|out)
53: * @param local local host address to be used in the IKE_SA
54: * @param remote remote host address to be used in the IKE_SA
55: * @return migrate_job_t object
56: */
57: migrate_job_t *migrate_job_create(uint32_t reqid,
58: traffic_selector_t *src_ts, traffic_selector_t *dst_ts,
59: policy_dir_t dir, host_t *local, host_t *remote);
60:
61: #endif /** MIGRATE_JOB_H_ @}*/
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>