aboutsummaryrefslogtreecommitdiffstats
path: root/src/libstrongswan/plugins/plugin_loader.h
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2014-09-24 11:17:29 +0200
committerMartin Willi <martin@revosec.ch>2014-09-24 11:17:29 +0200
commit6fe02dda752cbb2c2389a3367a3b6e04add43425 (patch)
tree4c34d40922d0848bfa682b4819d983e4ff57c982 /src/libstrongswan/plugins/plugin_loader.h
parent2dee0a85a6923da94d669dc5de337dc5ef1806e7 (diff)
parent575d3ab19a73736bfa25833e1102d3473e5bc25a (diff)
downloadstrongswan-6fe02dda752cbb2c2389a3367a3b6e04add43425.tar.bz2
strongswan-6fe02dda752cbb2c2389a3367a3b6e04add43425.tar.xz
Merge branch 'systemd'
Introduces a systemd specific charon-systemd IKE daemon based on libcharon. Uses systemd APIs for startup control and journal logging and a new systemd service unit using swanctl as configuration backend.
Diffstat (limited to 'src/libstrongswan/plugins/plugin_loader.h')
-rw-r--r--src/libstrongswan/plugins/plugin_loader.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/libstrongswan/plugins/plugin_loader.h b/src/libstrongswan/plugins/plugin_loader.h
index fec57ce98..6be6a909c 100644
--- a/src/libstrongswan/plugins/plugin_loader.h
+++ b/src/libstrongswan/plugins/plugin_loader.h
@@ -44,6 +44,9 @@ struct plugin_loader_t {
* If critical is TRUE load() will fail if any of the added features could
* not be loaded.
*
+ * If a reload callback function is given, it gets invoked for the
+ * registered feature set when reload() is invoked on the plugin_loader.
+ *
* @note The name should be unique otherwise a plugin with the same name is
* not loaded.
*
@@ -51,10 +54,13 @@ struct plugin_loader_t {
* @param features array of plugin features
* @param count number of features in the array
* @param critical TRUE if the features are critical
+ * @param reload feature reload callback, or NULL
+ * @param reload_data user data to pass to reload callback
*/
void (*add_static_features) (plugin_loader_t *this, const char *name,
struct plugin_feature_t *features, int count,
- bool critical);
+ bool critical, bool (*reload)(void*),
+ void *reload_data);
/**
* Load a list of plugins.