haiku/headers/private/storage/PartitioningInfo.h

37 lines
864 B
C++

//----------------------------------------------------------------------
// This software is part of the OpenBeOS distribution and is covered
// by the OpenBeOS license.
//---------------------------------------------------------------------
#ifndef _PARTITIONING_INFO_H
#define _PARTITIONING_INFO_H
#include <DiskDeviceDefs.h>
struct partitionable_space_data;
class BPartitioningInfo {
public:
BPartitioningInfo();
virtual ~BPartitioningInfo();
void Unset();
partition_id PartitionID() const;
status_t GetPartitionableSpaceAt(int32 index, off_t *offset,
off_t *size) const;
int32 CountPartitionableSpaces() const;
private:
status_t _SetTo(partition_id partition, int32 changeCounter);
friend class BPartition;
partition_id fPartitionID;
partitionable_space_data *fSpaces;
int32 fCount;
};
#endif // _PARTITIONING_INFO_H