2003-05-28 21:46:11 +00:00
|
|
|
//----------------------------------------------------------------------
|
|
|
|
// This software is part of the OpenBeOS distribution and is covered
|
|
|
|
// by the OpenBeOS license.
|
|
|
|
//---------------------------------------------------------------------
|
|
|
|
|
|
|
|
#ifndef _DISK_SYSTEM_H
|
|
|
|
#define _DISK_SYSTEM_H
|
|
|
|
|
|
|
|
class BDiskSystem {
|
|
|
|
public:
|
2003-06-09 23:02:16 +00:00
|
|
|
const char *ShortName() const;
|
2003-05-28 21:46:11 +00:00
|
|
|
const char *Name() const;
|
|
|
|
|
2003-05-28 21:47:29 +00:00
|
|
|
bool SupportsDefragmenting(BPartition *partition, bool *whileMounted) const;
|
|
|
|
bool SupportsRepairing(BPartition *partition, bool checkOnly, bool *whileMounted) const;
|
|
|
|
bool SupportsResizing(BPartition *partition, bool *whileMounted) const;
|
2003-05-28 21:46:11 +00:00
|
|
|
bool SupportsResizingChild(BPartition *child) const;
|
2003-05-28 21:47:29 +00:00
|
|
|
bool SupportsMoving(BPartition *partition, bool *whileMounted) const;
|
2003-05-28 21:46:11 +00:00
|
|
|
bool SupportsMovingChild(BPartition *child) const;
|
|
|
|
bool SupportsParentSystem(const char *system) const;
|
|
|
|
// True in most cases. NULL == raw device.
|
|
|
|
bool SupportsChildSystem(const char *system) const;
|
|
|
|
// False for most file systems, true for most partitioning
|
|
|
|
// systems.
|
2003-05-28 21:47:29 +00:00
|
|
|
|
2003-05-28 21:46:11 +00:00
|
|
|
|
|
|
|
bool ValidateResize(BPartition *partition, off_t *size) const;
|
|
|
|
bool ValidateMove(BPartition *partition, off_t *start) const;
|
|
|
|
bool ValidateResizeChild(BPartition *partition, off_t *size) const;
|
|
|
|
bool ValidateMoveChild(BPartition *partition, off_t *start) const;
|
2003-05-28 21:47:29 +00:00
|
|
|
bool ValidateCreateChild(BPartition *partition, off_t *start, off_t *size, const char *parameters) const;
|
2003-05-28 21:46:11 +00:00
|
|
|
|
|
|
|
bool IsPartitioningSystem() const;
|
|
|
|
bool IsFileSystem() const;
|
2003-05-28 21:47:29 +00:00
|
|
|
bool IsSubSystemFor(BPartition *parent) const;
|
2003-05-28 21:46:11 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // _DISK_SYSTEM_H
|