diff --git a/mod.h b/mod.h index 8a64d65..c05d356 100644 --- a/mod.h +++ b/mod.h @@ -6,7 +6,7 @@ static const semver API_VERSION = { .major = 0, - .minor = 1, + .minor = 2, .patch = 0, }; @@ -15,7 +15,7 @@ static const uint8_t MFERR_APIVER = 1; semver version(void); const char *name(void); -uint8_t init(char **config); +uint8_t init(semver api_ver, char **config); const char *get(void); #endif // _MODFETCH_MOD_H diff --git a/modfetch.c b/modfetch.c index 6391e30..297a520 100644 --- a/modfetch.c +++ b/modfetch.c @@ -1,3 +1,4 @@ +#include "mod.h" #include "semver.h" #include #include @@ -267,10 +268,10 @@ int main(int argc, char *argv[]) { semver (*version)(void) = dlsym(handle, "version"); const char *(*name)(void) = dlsym(handle, "name"); const char *(*get)(void) = dlsym(handle, "get"); - void (*init)(char**) = dlsym(handle, "init"); + void (*init)(semver, char**) = dlsym(handle, "init"); #pragma GCC diagnostic pop - init(current_module.config); + init(API_VERSION, current_module.config); (void)name; (void)version; diff --git a/modules/desktop.c b/modules/desktop.c index 0098925..6e63924 100644 --- a/modules/desktop.c +++ b/modules/desktop.c @@ -8,12 +8,6 @@ #include #include -static const semver api_ver = { - .major = 0, - .minor = 1, - .patch = 0, -}; - static const semver _version = { .major = 0, .minor = 1, @@ -23,7 +17,7 @@ static const semver _version = { semver version(void) { return _version; } const char *name(void) { return "desktop"; } -uint8_t init(char **config) { +uint8_t init(semver api_ver, char **config) { if (!sveq(api_ver, API_VERSION)) { return MFERR_APIVER; } diff --git a/modules/os.c b/modules/os.c index f786c14..e27cf97 100644 --- a/modules/os.c +++ b/modules/os.c @@ -10,12 +10,6 @@ #include #include -static const semver api_ver = { - .major = 0, - .minor = 1, - .patch = 0, -}; - static const semver _version = { .major = 0, .minor = 1, @@ -25,7 +19,7 @@ static const semver _version = { semver version(void) { return _version; } const char *name(void) { return "os"; } -uint8_t init(char **config) { +uint8_t init(semver api_ver, char **config) { if (!sveq(api_ver, API_VERSION)) { return MFERR_APIVER; } diff --git a/modules/sep.c b/modules/sep.c index f199398..9dfafd6 100644 --- a/modules/sep.c +++ b/modules/sep.c @@ -12,12 +12,6 @@ #include #include -static const semver api_ver = { - .major = 0, - .minor = 1, - .patch = 0, -}; - static const semver _version = { .major = 1, .minor = 0, @@ -31,7 +25,7 @@ static size_t length = 8; static char *sep_char = "-"; static size_t sep_char_length = 1; -uint8_t init(char **config) { +uint8_t init(semver api_ver, char **config) { if (!sveq(api_ver, API_VERSION)) { return MFERR_APIVER; }