* More shadow partition support.

* Writing disk device/partition data into userland buffer added.
* Migration of some definitions into <DiskDeviceDefs.h> header.
* Small bug fixes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@3882 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Ingo Weinhold
2003-07-06 23:01:22 +00:00
parent 64cf9ebc08
commit c0455c33b8
10 changed files with 120 additions and 48 deletions
@@ -7,21 +7,13 @@
#include "disk_device_manager.h"
// partition flags
// TODO: move to another header (must be accessible from userland API impl.)
enum {
B_PARTITION_IS_DEVICE = 0x01,
B_PARTITION_MOUNTABLE = 0x02,
B_PARTITION_PARTITIONABLE = 0x04,
B_PARTITION_READ_ONLY = 0x08,
B_PARTITION_MOUNTED = 0x10, // needed?
B_PARTITION_BUSY = 0x20,
B_PARTITION_DESCENDANT_BUSY = 0x40,
};
struct user_partition_data;
namespace BPrivate {
namespace DiskDevice {
class UserDataWriter;
class KDiskDevice;
class KDiskSystem;
class KPhysicalPartition;
@@ -142,9 +134,9 @@ public:
virtual status_t CreateShadowPartition(); // creates a complete tree
virtual void DeleteShadowPartition(); // deletes ...
virtual KShadowPartition *ShadowPartition() = 0;
virtual KShadowPartition *ShadowPartition() const = 0;
virtual bool IsShadowPartition() const = 0;
virtual KPhysicalPartition *PhysicalPartition() = 0;
virtual KPhysicalPartition *PhysicalPartition() const = 0;
// DiskSystem
@@ -161,6 +153,8 @@ public:
void SetContentCookie(void *cookie);
void *ContentCookie() const;
void WriteUserData(UserDataWriter &writer, user_partition_data *data);
virtual void Dump(bool deep, int32 level);
private: