Files
haiku-beta6/src/add-ons/kernel/file_systems/userlandfs/server/FileSystem.h
T
Ingo Weinhold cdebdeb0aa Some more work towards adjusting the UserlandFS to the current FS interface:
* Split the FSCapabilities bit mask into three bit masks for the FS, the
  volume, and the vnodes, since we have three independent FS interface
  structures, now. The latter is not supported in the kernel add-on, yet.
* Server:
  - Temporarily removed some things from the build (the BeOS interface
    and the cache implementations).
  - Some WIP in HaikuKernelVolume and [haiku_]kernel_emu.{h,cpp}.
  - Added HaikuKernelNode, which wraps fs_vnode for the client FS.
  The server is still quite a bit away from being buildable again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29323 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-02-26 00:09:43 +00:00

39 lines
777 B
C++

// FileSystem.h
#ifndef USERLAND_FS_FILE_SYSTEM_H
#define USERLAND_FS_FILE_SYSTEM_H
#include <fs_interface.h>
#include <SupportDefs.h>
#include "FSCapabilities.h"
namespace UserlandFS {
class Volume;
class FileSystem {
public:
FileSystem();
virtual ~FileSystem();
virtual status_t CreateVolume(Volume** volume, dev_t id) = 0;
virtual status_t DeleteVolume(Volume* volume) = 0;
void GetCapabilities(
FSCapabilities& capabilities) const
{ capabilities = fCapabilities; }
client_fs_type GetClientFSType() const
{ return fClientFSType; }
protected:
FSCapabilities fCapabilities;
client_fs_type fClientFSType;
};
} // namespace UserlandFS
using UserlandFS::FileSystem;
#endif // USERLAND_FS_FILE_SYSTEM_H