diff --git a/src/backend.c b/src/backend.c index 8eb4f68..f49e388 100644 --- a/src/backend.c +++ b/src/backend.c @@ -30,6 +30,8 @@ f2b_backend_create(f2b_config_section_t *config, const char *id) { goto cleanup; if ((*(void **) (&backend->ready) = dlsym(backend->h, "ready")) == NULL) goto cleanup; + if ((*(void **) (&backend->error) = dlsym(backend->h, "error")) == NULL) + goto cleanup; if ((*(void **) (&backend->start) = dlsym(backend->h, "start")) == NULL) goto cleanup; if ((*(void **) (&backend->stop) = dlsym(backend->h, "stop")) == NULL) diff --git a/src/backend.h b/src/backend.h index c88b640..d5b2e51 100644 --- a/src/backend.h +++ b/src/backend.h @@ -10,6 +10,7 @@ typedef struct f2b_backend_t { void *(*create) (const char *id); bool (*config) (void *cfg, const char *key, const char *value); bool (*ready) (void *cfg); + char (*error) (void *cfg); bool (*start) (void *cfg); bool (*stop) (void *cfg); bool (*ping) (void *cfg); diff --git a/src/backends/backend.h b/src/backends/backend.h index e152087..8a6c512 100644 --- a/src/backends/backend.h +++ b/src/backends/backend.h @@ -9,6 +9,7 @@ typedef struct _config cfg_t; extern cfg_t *create(const char *id); extern bool config(cfg_t *c, const char *key, const char *value); extern bool ready(cfg_t *c); +extern char *error(cfg_t *c); extern bool start(cfg_t *c); extern bool stop(cfg_t *c); extern bool ping(cfg_t *c);