aboutsummaryrefslogtreecommitdiffstats
path: root/src/libstrongswan/plugins/plugin.h
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2011-05-18 17:00:46 +0200
committerMartin Willi <martin@revosec.ch>2011-10-14 10:05:44 +0200
commit62b9e2f9384d973f14098126944b09fa56d61d95 (patch)
tree41a71fcf7a056a5044b430656632afe63dfbfa6d /src/libstrongswan/plugins/plugin.h
parent658c993c788a04718f8498a9baf2688a2a7ca058 (diff)
downloadstrongswan-62b9e2f9384d973f14098126944b09fa56d61d95.tar.bz2
strongswan-62b9e2f9384d973f14098126944b09fa56d61d95.tar.xz
Added support for plugin features
Diffstat (limited to 'src/libstrongswan/plugins/plugin.h')
-rw-r--r--src/libstrongswan/plugins/plugin.h17
1 files changed, 14 insertions, 3 deletions
diff --git a/src/libstrongswan/plugins/plugin.h b/src/libstrongswan/plugins/plugin.h
index c0150487c..7bfbdf1d4 100644
--- a/src/libstrongswan/plugins/plugin.h
+++ b/src/libstrongswan/plugins/plugin.h
@@ -21,11 +21,11 @@
#ifndef PLUGIN_H_
#define PLUGIN_H_
-#include "../utils.h"
-#include <library.h>
-
typedef struct plugin_t plugin_t;
+#include <library.h>
+#include <plugins/plugin_feature.h>
+
/**
* Interface definition of a plugin.
*/
@@ -39,6 +39,17 @@ struct plugin_t {
char* (*get_name)(plugin_t *this);
/**
+ * Get plugin features with dependencies.
+ *
+ * The returned array contains features provided by the plugin and
+ * dependencies for that feature. See plugin_feature_t for details.
+ *
+ * @param features pointer receiving plugin features
+ * @return number of features
+ */
+ int (*get_features)(plugin_t *this, plugin_feature_t *features[]);
+
+ /**
* Try to reload plugin configuration.
*
* @return TRUE if reloaded, FALSE if reloading not supporty by plugin