aboutsummaryrefslogtreecommitdiffstats
path: root/src/libhydra/kernel/kernel_ipsec.h
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2011-10-13 11:22:03 +0200
committerMartin Willi <martin@revosec.ch>2011-10-14 10:05:47 +0200
commit29d30991f3417c7fe827c1fb9429c2be0e59cec8 (patch)
tree6d63c1749af80346e4c1b8390f6b55151ef9811b /src/libhydra/kernel/kernel_ipsec.h
parent036b88ec76e18ecf6be894d3cdb510a10715118a (diff)
downloadstrongswan-29d30991f3417c7fe827c1fb9429c2be0e59cec8.tar.bz2
strongswan-29d30991f3417c7fe827c1fb9429c2be0e59cec8.tar.xz
Added kernel_ipsec/net plugin feature loading callbacks
Diffstat (limited to 'src/libhydra/kernel/kernel_ipsec.h')
-rw-r--r--src/libhydra/kernel/kernel_ipsec.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/libhydra/kernel/kernel_ipsec.h b/src/libhydra/kernel/kernel_ipsec.h
index 986e21fca..eacf7c79f 100644
--- a/src/libhydra/kernel/kernel_ipsec.h
+++ b/src/libhydra/kernel/kernel_ipsec.h
@@ -37,6 +37,7 @@ typedef struct mark_t mark_t;
#include <utils/host.h>
#include <crypto/prf_plus.h>
#include <selectors/traffic_selector.h>
+#include <plugins/plugin.h>
/**
* Mode of an IPsec SA.
@@ -386,4 +387,18 @@ struct kernel_ipsec_t {
void (*destroy) (kernel_ipsec_t *this);
};
+/**
+ * Helper function to (un-)register IPsec kernel interfaces from plugin features.
+ *
+ * This function is a plugin_feature_callback_t and can be used with the
+ * PLUGIN_CALLBACK macro to register an IPsec kernel interface constructor.
+ *
+ * @param plugin plugin registering the kernel interface
+ * @param feature associated plugin feature
+ * @param reg TRUE to register, FALSE to unregister
+ * @param data data passed to callback, an kernel_ipsec_constructor_t
+ */
+bool kernel_ipsec_register(plugin_t *plugin, plugin_feature_t *feature,
+ bool reg, void *data);
+
#endif /** KERNEL_IPSEC_H_ @}*/