#pragma once #include "gp/containers/buffer.hpp" #include "gp/containers/vector.hpp" #include "gp/ipc/file_description.hpp" namespace gp{ struct file_char { // v cannot contain '/' or 0 char v; }; struct fs_user_representation { virtual uint32_t to_posix() = 0; virtual gp::vector to_sid() = 0; }; class filesystem { virtual file_description* create(gp::buffer, fs_user_representation&) = 0; virtual file_description* open(gp::buffer, fs_user_representation&) = 0; virtual file_description* remove(gp::buffer, fs_user_representation&) = 0; }; }