From feae7fb2bed5357a5e685063e3f6ff005bfc0bd5 Mon Sep 17 00:00:00 2001 From: Federico Angelilli Date: Sun, 8 Sep 2024 14:42:22 +0200 Subject: Add blocks schemes and time config --- src/blocks/group.c | 12 ++++++++++++ src/blocks/ram.c | 12 ++++++++++++ src/blocks/scheme.c | 7 +++++++ src/blocks/scheme.h | 11 +++++++---- src/blocks/text.c | 11 +++++++++++ 5 files changed, 49 insertions(+), 4 deletions(-) create mode 100644 src/blocks/group.c create mode 100644 src/blocks/ram.c create mode 100644 src/blocks/text.c (limited to 'src/blocks') diff --git a/src/blocks/group.c b/src/blocks/group.c new file mode 100644 index 0000000..fb4457e --- /dev/null +++ b/src/blocks/group.c @@ -0,0 +1,12 @@ +#include "scheme.h" + +const block_scheme_t block_group_scheme = { + .name = "group", + .block = { + .type = BLOCK_GROUP, + }, + .size = 0, + .entries = NULL, + .verify = NULL, +}; + diff --git a/src/blocks/ram.c b/src/blocks/ram.c new file mode 100644 index 0000000..a626413 --- /dev/null +++ b/src/blocks/ram.c @@ -0,0 +1,12 @@ +#include "scheme.h" + +const block_scheme_t block_ram_scheme = { + .name = "ram", + .block = { + .type = BLOCK_TEXT, + }, + .size = 0, + .entries = NULL, + .verify = NULL, +}; + diff --git a/src/blocks/scheme.c b/src/blocks/scheme.c index 7a49b90..c474de3 100644 --- a/src/blocks/scheme.c +++ b/src/blocks/scheme.c @@ -1,5 +1,12 @@ #include "scheme.h" +extern const block_scheme_t block_text_scheme; +extern const block_scheme_t block_group_scheme; +extern const block_scheme_t block_ram_scheme; + const block_scheme_t *block_schemes[] = { + &block_text_scheme, + &block_group_scheme, + &block_ram_scheme, NULL, }; diff --git a/src/blocks/scheme.h b/src/blocks/scheme.h index b73f181..2bcca97 100644 --- a/src/blocks/scheme.h +++ b/src/blocks/scheme.h @@ -3,14 +3,17 @@ #include "../block.h" -typedef struct block_scheme { +typedef struct block_scheme block_scheme_t; + +typedef bool (*block_scheme_verify_t)(block_t *block, block_scheme_t *scheme); + +struct block_scheme { const char *name; block_t block; size_t size; const config_entry_t *entries; - - bool (*block_scheme_verify_t)(block_t *block, struct block_scheme *scheme); -} block_scheme_t; + block_scheme_verify_t verify; +}; extern const block_scheme_t *block_schemes[]; diff --git a/src/blocks/text.c b/src/blocks/text.c new file mode 100644 index 0000000..0e5fc31 --- /dev/null +++ b/src/blocks/text.c @@ -0,0 +1,11 @@ +#include "scheme.h" + +const block_scheme_t block_text_scheme = { + .name = "text", + .block = { + .type = BLOCK_TEXT, + }, + .size = 0, + .entries = NULL, + .verify = NULL, +}; -- cgit v1.2.3