aboutsummaryrefslogtreecommitdiff
path: root/src/blocks/scheme.h
blob: 1795013c4a887df03a42c3d2aaf51e3077158cee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#ifndef COMET_SCHEME_H
#define COMET_SCHEME_H

#include "../block.h"

typedef struct block_scheme block_scheme_t;

typedef bool (*block_validate_t)(block_t *block, const block_scheme_t *scheme);

struct block_scheme {
    const char *name;
    block_t block;
    size_t size;
    const config_entry_t *entries;
    block_validate_t validate;
    //block_resolve_t resolve;
};

extern const block_scheme_t *block_schemes[];

#endif