#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; }; }