diff options
Diffstat (limited to 'src/libstrongswan')
-rw-r--r-- | src/libstrongswan/plugins/plugin_loader.c | 7 | ||||
-rw-r--r-- | src/libstrongswan/plugins/plugin_loader.h | 6 |
2 files changed, 11 insertions, 2 deletions
diff --git a/src/libstrongswan/plugins/plugin_loader.c b/src/libstrongswan/plugins/plugin_loader.c index 26af529d4..cd942a7e0 100644 --- a/src/libstrongswan/plugins/plugin_loader.c +++ b/src/libstrongswan/plugins/plugin_loader.c @@ -177,9 +177,14 @@ static bool load_plugin(private_plugin_loader_t *this, char *name, char *file) /** * Convert enumerated entries to plugin_t */ -static bool plugin_filter(void *null, plugin_entry_t **entry, plugin_t **plugin) +static bool plugin_filter(void *null, plugin_entry_t **entry, plugin_t **plugin, + void *in, linked_list_t **list) { *plugin = (*entry)->plugin; + if (list) + { + *list = (*entry)->loaded; + } return TRUE; } diff --git a/src/libstrongswan/plugins/plugin_loader.h b/src/libstrongswan/plugins/plugin_loader.h index e03da4543..ea36bb147 100644 --- a/src/libstrongswan/plugins/plugin_loader.h +++ b/src/libstrongswan/plugins/plugin_loader.h @@ -59,7 +59,11 @@ struct plugin_loader_t { /** * Create an enumerator over all loaded plugins. * - * @return enumerator over plugin_t* + * In addition to the plugin, a to read-only list is enumerated (if it is + * not NULL). This list contains pointer to plugin features currently + * loaded. + * + * @return enumerator over plugin_t*, linked_list_t* */ enumerator_t* (*create_plugin_enumerator)(plugin_loader_t *this); |