api versioning for modules
This commit is contained in:
parent
2695a19da4
commit
1640be4666
4 changed files with 48 additions and 4 deletions
10
mod.h
10
mod.h
|
@ -4,10 +4,18 @@
|
|||
#include "semver.h"
|
||||
#include <stdint.h>
|
||||
|
||||
static const semver API_VERSION = {
|
||||
.major = 0,
|
||||
.minor = 1,
|
||||
.patch = 0,
|
||||
};
|
||||
|
||||
static const uint8_t MFERR_APIVER = 1;
|
||||
|
||||
semver version(void);
|
||||
const char *name(void);
|
||||
|
||||
void init(char **config);
|
||||
uint8_t init(char **config);
|
||||
const char *get(void);
|
||||
|
||||
#endif // _MODFETCH_MOD_H
|
||||
|
|
|
@ -8,6 +8,12 @@
|
|||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
static const semver api_ver = {
|
||||
.major = 0,
|
||||
.minor = 1,
|
||||
.patch = 0,
|
||||
};
|
||||
|
||||
static const semver _version = {
|
||||
.major = 0,
|
||||
.minor = 1,
|
||||
|
@ -17,8 +23,14 @@ static const semver _version = {
|
|||
semver version(void) { return _version; }
|
||||
const char *name(void) { return "desktop"; }
|
||||
|
||||
void init(char **config) {
|
||||
uint8_t init(char **config) {
|
||||
if (!sveq(api_ver, API_VERSION)) {
|
||||
return MFERR_APIVER;
|
||||
}
|
||||
|
||||
(void)config;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
const char *get(void) {
|
||||
|
|
14
modules/os.c
14
modules/os.c
|
@ -10,6 +10,12 @@
|
|||
#include <string.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
static const semver api_ver = {
|
||||
.major = 0,
|
||||
.minor = 1,
|
||||
.patch = 0,
|
||||
};
|
||||
|
||||
static const semver _version = {
|
||||
.major = 0,
|
||||
.minor = 1,
|
||||
|
@ -19,8 +25,14 @@ static const semver _version = {
|
|||
semver version(void) { return _version; }
|
||||
const char *name(void) { return "os"; }
|
||||
|
||||
void init(char **config) {
|
||||
uint8_t init(char **config) {
|
||||
if (!sveq(api_ver, API_VERSION)) {
|
||||
return MFERR_APIVER;
|
||||
}
|
||||
|
||||
(void)config;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
const char *get(void) {
|
||||
|
|
|
@ -12,6 +12,12 @@
|
|||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
static const semver api_ver = {
|
||||
.major = 0,
|
||||
.minor = 1,
|
||||
.patch = 0,
|
||||
};
|
||||
|
||||
static const semver _version = {
|
||||
.major = 1,
|
||||
.minor = 0,
|
||||
|
@ -25,7 +31,11 @@ static size_t length = 8;
|
|||
static char *sep_char = "-";
|
||||
static size_t sep_char_length = 1;
|
||||
|
||||
void init(char **config) {
|
||||
uint8_t init(char **config) {
|
||||
if (!sveq(api_ver, API_VERSION)) {
|
||||
return MFERR_APIVER;
|
||||
}
|
||||
|
||||
for (char *opt = *config; opt != NULL; opt = *++config) {
|
||||
if (strncmp(opt, "sep", 3) == 0) {
|
||||
char *valstr = opt + 4; // skip 'sep='
|
||||
|
@ -47,6 +57,8 @@ void init(char **config) {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
const char *get(void) {
|
||||
|
|
Loading…
Reference in a new issue