aboutsummaryrefslogtreecommitdiff
path: root/src/block.h
diff options
context:
space:
mode:
authorFederico Angelilli <code@fedang.net>2024-11-20 11:13:57 +0100
committerFederico Angelilli <code@fedang.net>2024-11-20 11:13:57 +0100
commiteb370ad9065ce222c1bfd6ae0576b9a0f6b3de22 (patch)
tree1b494821e4a70bc3c0ebce9feab8bf7c39f94397 /src/block.h
parentbb63935e63365d842fe530629387d1d2a4248042 (diff)
Refactor block initialization
Diffstat (limited to 'src/block.h')
-rw-r--r--src/block.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/block.h b/src/block.h
index e461e0d..dc1f975 100644
--- a/src/block.h
+++ b/src/block.h
@@ -92,7 +92,7 @@ typedef struct {
// Called to allocate a block with its default state
//
-typedef block_t *(*block_alloc_t)(const block_scheme_t *scheme);
+typedef void (*block_init_t)(block_t *block, const block_scheme_t *scheme);
// Called to cleanup a block and free its memory
// NOTE: This should NOT free any other block!
@@ -106,7 +106,8 @@ typedef int (*block_validate_t)(block_t *block, const block_scheme_t *scheme);
struct block_scheme {
const char *name;
const config_entry_t *entries;
- block_alloc_t alloc_fn;
+ size_t size;
+ block_init_t init_fn;
block_clean_t clean_fn;
block_validate_t validate_fn;
};