diff options
| author | Federico Angelilli <code@fedang.net> | 2024-11-16 00:07:14 +0100 |
|---|---|---|
| committer | Federico Angelilli <code@fedang.net> | 2024-11-16 00:07:14 +0100 |
| commit | 9843c8735a5a886252858a848c473cb877875ef4 (patch) | |
| tree | a78faeb471f8547c5f7982e04a55595c742bdded /src/blocks/fs.c | |
| parent | e85ad7414c063e42296f7ef4e202829567484ac0 (diff) | |
Link scheme with block
Diffstat (limited to 'src/blocks/fs.c')
| -rw-r--r-- | src/blocks/fs.c | 31 |
1 files changed, 19 insertions, 12 deletions
diff --git a/src/blocks/fs.c b/src/blocks/fs.c index 9bb4452..45ea0a3 100644 --- a/src/blocks/fs.c +++ b/src/blocks/fs.c @@ -6,7 +6,7 @@ #include <sys/statvfs.h> #include <sys/stat.h> -#include "scheme.h" +#include "../block.h" #include "../any_log.h" @@ -16,6 +16,11 @@ typedef struct { char *path; } block_fs_t; +static const struct timespec block_fs_interval = { + .tv_sec = 20, + .tv_nsec = 0, +}; + static void block_fs_update(block_t *block) { block_fs_t *fs = (block_fs_t *)block; @@ -48,6 +53,15 @@ static void block_fs_update(block_t *block) assert(fs->block.text != NULL); } +static block_t *block_fs_alloc(const block_scheme_t *scheme) +{ + block_t *block = calloc(1, sizeof(block_fs_t)); + block->type = BLOCK_TEXT; + block->update_interval = block_fs_interval; + block->update_fn = block_fs_update; + return block; +} + static void block_fs_clean(block_t *block) { block_fs_t *fs = (block_fs_t *)block; @@ -90,16 +104,9 @@ static const config_entry_t block_fs_entries[] = { const block_scheme_t block_fs_scheme = { .name = "fs", - .block = { - .type = BLOCK_TEXT, - .update_interval = { - .tv_sec = 20, - .tv_nsec = 0, - }, - .update_fn = block_fs_update, - .clean_fn = block_fs_clean, - }, - .size = sizeof(block_fs_t), .entries = block_fs_entries, - .validate = block_fs_validate, + .alloc_fn = block_fs_alloc, + .clean_fn = block_fs_clean, + .validate_fn = block_fs_validate, + .resolve_fn = NULL, }; |
