aboutsummaryrefslogtreecommitdiffstats
path: root/Source/charon/threads/kernel_interface.h
diff options
context:
space:
mode:
authorMartin Willi <martin@strongswan.org>2006-02-22 16:14:40 +0000
committerMartin Willi <martin@strongswan.org>2006-02-22 16:14:40 +0000
commita527a426d6d2c2d6619174b80816a96d45a0a9c9 (patch)
tree49ff184a03542fa74820e2aa2ef40dc84cd61611 /Source/charon/threads/kernel_interface.h
parent0a373aec33c977b061c57b72a3bc909ef5971b56 (diff)
downloadstrongswan-a527a426d6d2c2d6619174b80816a96d45a0a9c9.tar.bz2
strongswan-a527a426d6d2c2d6619174b80816a96d45a0a9c9.tar.xz
- proposal setup implementation begun
Diffstat (limited to 'Source/charon/threads/kernel_interface.h')
-rw-r--r--Source/charon/threads/kernel_interface.h22
1 files changed, 17 insertions, 5 deletions
diff --git a/Source/charon/threads/kernel_interface.h b/Source/charon/threads/kernel_interface.h
index 7f57a04d6..17b636dd1 100644
--- a/Source/charon/threads/kernel_interface.h
+++ b/Source/charon/threads/kernel_interface.h
@@ -23,6 +23,7 @@
#ifndef KERNEL_INTERFACE_H_
#define KERNEL_INTERFACE_H_
+#include <linux/xfrm.h>
#include <network/host.h>
#include <encoding/payloads/proposal_substructure.h>
@@ -44,7 +45,11 @@ struct kernel_interface_t {
*
* @todo Fix spi range
*/
- status_t (*get_spi) (kernel_interface_t *this, host_t *src, host_t *dest, protocol_id_t protocol, bool tunnel_mode, u_int32_t *spi);
+ status_t (*get_spi) (kernel_interface_t *this,
+ host_t *src, host_t *dest,
+ protocol_id_t protocol,
+ u_int32_t reqid,
+ u_int32_t *spi);
/**
* @brief Create an SA.
@@ -54,17 +59,24 @@ struct kernel_interface_t {
* @todo Cleanup method params
*/
status_t (*add_sa)(kernel_interface_t *this,
- host_t *src,
- host_t *dst,
+ host_t *src, host_t *dst,
u_int32_t spi,
- int protocol,
- bool tunnel_mode,
+ protocol_id_t protocol,
+ u_int32_t reqid,
encryption_algorithm_t enc_alg,
chunk_t encryption_key,
integrity_algorithm_t int_alg,
chunk_t integrity_key,
bool replace);
+ status_t (*add_policy) (kernel_interface_t *this,
+ host_t *me, host_t *other,
+ host_t *src, host_t *dst,
+ u_int8_t src_hostbits, u_int8_t dst_hostbits,
+ int direction, int upper_proto,
+ bool ah, bool esp,
+ u_int32_t reqid);
+
/**
* @brief Destroys a kernel_interface object.
*