1 // BeOSKernelFileSystem.h 2 3 #ifndef USERLAND_FS_BEOS_KERNEL_FILE_SYSTEM_H 4 #define USERLAND_FS_BEOS_KERNEL_FILE_SYSTEM_H 5 6 #include "../FileSystem.h" 7 8 struct beos_vnode_ops; 9 10 namespace UserlandFS { 11 12 class BeOSKernelFileSystem : public FileSystem { 13 public: 14 BeOSKernelFileSystem(const char* fsName, 15 beos_vnode_ops* fsOps); 16 virtual ~BeOSKernelFileSystem(); 17 18 status_t Init(); 19 20 virtual status_t CreateVolume(Volume** volume, dev_t id); 21 virtual status_t DeleteVolume(Volume* volume); 22 23 void GetVolumeCapabilities( 24 FSVolumeCapabilities& capabilities) const 25 { capabilities = fVolumeCapabilities; } 26 void GetNodeCapabilities( 27 FSVNodeCapabilities& capabilities) const 28 { capabilities = fNodeCapabilities; } 29 30 private: 31 void _InitCapabilities(); 32 33 private: 34 beos_vnode_ops* fFSOps; 35 FSVolumeCapabilities fVolumeCapabilities; 36 FSVNodeCapabilities fNodeCapabilities; 37 bool fBlockCacheInitialized; 38 }; 39 40 } // namespace UserlandFS 41 42 using UserlandFS::BeOSKernelFileSystem; 43 44 #endif // USERLAND_FS_BEOS_KERNEL_FILE_SYSTEM_H 45