summaryrefslogtreecommitdiff
path: root/examples/dte/block.c
diff options
context:
space:
mode:
Diffstat (limited to 'examples/dte/block.c')
-rw-r--r--examples/dte/block.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/examples/dte/block.c b/examples/dte/block.c
new file mode 100644
index 0000000..3953571
--- /dev/null
+++ b/examples/dte/block.c
@@ -0,0 +1,19 @@
+#include <stdlib.h>
+#include "block.h"
+#include "util/xmalloc.h"
+
+Block *block_new(size_t alloc)
+{
+ Block *blk = xnew0(Block, 1);
+ alloc = round_size_to_next_multiple(alloc, BLOCK_ALLOC_MULTIPLE);
+ blk->data = xmalloc(alloc);
+ blk->alloc = alloc;
+ return blk;
+}
+
+void block_free(Block *blk)
+{
+ list_del(&blk->node);
+ free(blk->data);
+ free(blk);
+}