aboutsummaryrefslogtreecommitdiff
path: root/src/blocks
diff options
context:
space:
mode:
authorFederico Angelilli <code@fedang.net>2024-09-08 14:42:22 +0200
committerFederico Angelilli <code@fedang.net>2024-09-08 14:42:22 +0200
commitfeae7fb2bed5357a5e685063e3f6ff005bfc0bd5 (patch)
treee45b8568ed14bc2cc50d6697439adf25752326df /src/blocks
parent43238419974e599a84f17b5faa8fb52401bdfe90 (diff)
Add blocks schemes and time config
Diffstat (limited to 'src/blocks')
-rw-r--r--src/blocks/group.c12
-rw-r--r--src/blocks/ram.c12
-rw-r--r--src/blocks/scheme.c7
-rw-r--r--src/blocks/scheme.h11
-rw-r--r--src/blocks/text.c11
5 files changed, 49 insertions, 4 deletions
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,
+};