summaryrefslogtreecommitdiff
path: root/src/user/lib/fs/misc.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/user/lib/fs/misc.h')
-rw-r--r--src/user/lib/fs/misc.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/user/lib/fs/misc.h b/src/user/lib/fs/misc.h
new file mode 100644
index 0000000..3a8b071
--- /dev/null
+++ b/src/user/lib/fs/misc.h
@@ -0,0 +1,16 @@
+#pragma once
+#include <user/lib/stdlib.h>
+#include <stdbool.h>
+
+bool fork2_n_mount(const char *path);
+
+void fs_passthru(const char *prefix);
+void fs_whitelist(const char **list);
+
+void fs_dir_inject(const char *path);
+
+/** Mounts something and injects its path into the fs */
+// TODO path needs to have a trailing slash
+#define MOUNT(path, impl) \
+ if (!fork2_n_mount(path)) {_klogf("impl %s", path); impl;} \
+ if (!fork2_n_mount("/")) {_klogf("dir for %s", path); fs_dir_inject(path);}