diff --git a/src/plugin.c b/src/plugin.c index 6280c565..e1b3f2bf 100644 --- a/src/plugin.c +++ b/src/plugin.c @@ -163,6 +163,17 @@ plugin_t *plugin_find(char *name) } /* Private daemon API *******************************************************/ +int plugin_exists(hook_point_t no) +{ + plugin_t *p, *tmp; + + PLUGIN_ITERATOR(p, tmp) { + if (p->hook[no].cb) + return 1; + } + + return 0; +} /* Some hooks are called with a fixed argument, like HOOK_SVC_LOST */ void plugin_run_hook(hook_point_t no, void *arg) diff --git a/src/private.h b/src/private.h index f832861e..e11b3e2c 100644 --- a/src/private.h +++ b/src/private.h @@ -40,6 +40,7 @@ int client (int argc, char *argv[]); void service_monitor (pid_t lost); +int plugin_exists (hook_point_t no); void plugin_run_hook (hook_point_t no, void *arg); void plugin_run_hooks (hook_point_t no);