|
|
- #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<std::byte> to_sid() = 0;
- };
-
- class filesystem {
- virtual file_description create(gp::buffer<file_char>, fs_user_representation) = 0;
- virtual file_description open(gp::buffer<file_char>, fs_user_representation) = 0;
- virtual file_description remove(gp::buffer<file_char>, fs_user_representation) = 0;
- };
- }
|