summaryrefslogtreecommitdiff
path: root/src/io/read_file.h
diff options
context:
space:
mode:
authorLieuwe Rooijakkers <lieuwerooijakkers@gmail.com>2024-07-21 20:15:03 +0200
committerLieuwe Rooijakkers <lieuwerooijakkers@gmail.com>2024-07-21 20:15:03 +0200
commit4fcd26ca7ab48a44682c952313aad56d42f8407f (patch)
treeeec73f76b4cb1711dbb821ba8d5d02bef9e64413 /src/io/read_file.h
parent3cd36e36f924b2bf7a8719b5bca15733b81e2163 (diff)
read_file utils
Diffstat (limited to 'src/io/read_file.h')
-rw-r--r--src/io/read_file.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/io/read_file.h b/src/io/read_file.h
new file mode 100644
index 0000000..201ae5b
--- /dev/null
+++ b/src/io/read_file.h
@@ -0,0 +1,19 @@
+#pragma once
+
+#include <stddef.h>
+#include <stdio.h>
+
+enum mapping_type {
+ MT_MMAP,
+ MT_OWNED,
+};
+
+struct filebuf {
+ char *buf;
+ size_t sz;
+ enum mapping_type mapping_type;
+};
+
+struct filebuf *stream_to_filebuf(FILE *restrict stream);
+struct filebuf *file_to_filebuf(char *fname);
+void free_filebuf(struct filebuf *filebuf);