summaryrefslogtreecommitdiff
path: root/src/user/lib/fs/misc.h
blob: 3a8b071b7f71d28ed58bf4b34150b187b84318ac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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);}