diff options
Diffstat (limited to 'src/user/lib/fs/misc.h')
-rw-r--r-- | src/user/lib/fs/misc.h | 16 |
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);} |