#pragma once #include "gp/buffer.hpp" #include "gp/vector.hpp" #include "gp/vfs/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; }; }