1 // FileSystem.h 2 3 #ifndef USERLAND_FS_FILE_SYSTEM_H 4 #define USERLAND_FS_FILE_SYSTEM_H 5 6 #include <fs_interface.h> 7 #include <SupportDefs.h> 8 9 #include "FSCapabilities.h" 10 11 namespace UserlandFS { 12 13 class Volume; 14 15 class FileSystem { 16 public: 17 FileSystem(); 18 virtual ~FileSystem(); 19 20 virtual status_t CreateVolume(Volume** volume, dev_t id) = 0; 21 virtual status_t DeleteVolume(Volume* volume) = 0; 22 23 void GetCapabilities( 24 FSCapabilities& capabilities) const 25 { capabilities = fCapabilities; } 26 27 protected: 28 FSCapabilities fCapabilities; 29 }; 30 31 } // namespace UserlandFS 32 33 using UserlandFS::FileSystem; 34 35 #endif // USERLAND_FS_FILE_SYSTEM_H 36