15b3f1d0cSTyler Dauwalder //---------------------------------------------------------------------- 25b3f1d0cSTyler Dauwalder // This software is part of the OpenBeOS distribution and is covered 35b3f1d0cSTyler Dauwalder // by the OpenBeOS license. 45b3f1d0cSTyler Dauwalder //--------------------------------------------------------------------- 55b3f1d0cSTyler Dauwalder 65b3f1d0cSTyler Dauwalder #ifndef _PARTITIONING_INFO_H 75b3f1d0cSTyler Dauwalder #define _PARTITIONING_INFO_H 85b3f1d0cSTyler Dauwalder 9*fb82e723SIngo Weinhold #include <DiskDeviceDefs.h> 10*fb82e723SIngo Weinhold 11*fb82e723SIngo Weinhold struct partitionable_space_data; 125b3f1d0cSTyler Dauwalder 135b3f1d0cSTyler Dauwalder class BPartitioningInfo { 145b3f1d0cSTyler Dauwalder public: 15*fb82e723SIngo Weinhold BPartitioningInfo(); 16*fb82e723SIngo Weinhold virtual ~BPartitioningInfo(); 17*fb82e723SIngo Weinhold 18*fb82e723SIngo Weinhold void Unset(); 19*fb82e723SIngo Weinhold 20*fb82e723SIngo Weinhold partition_id PartitionID() const; 21*fb82e723SIngo Weinhold 22bef8916eSIngo Weinhold status_t GetPartitionableSpaceAt(int32 index, off_t *offset, 23bef8916eSIngo Weinhold off_t *size) const; 24bef8916eSIngo Weinhold int32 CountPartitionableSpaces() const; 255b3f1d0cSTyler Dauwalder 265b3f1d0cSTyler Dauwalder private: 27*fb82e723SIngo Weinhold status_t _SetTo(partition_id partition); 28*fb82e723SIngo Weinhold 29*fb82e723SIngo Weinhold friend class BPartition; 30*fb82e723SIngo Weinhold 31*fb82e723SIngo Weinhold partition_id fPartitionID; 32*fb82e723SIngo Weinhold partitionable_space_data *fSpaces; 33bef8916eSIngo Weinhold int32 fCount; 345b3f1d0cSTyler Dauwalder }; 355b3f1d0cSTyler Dauwalder 365b3f1d0cSTyler Dauwalder #endif // _PARTITIONING_INFO_H 37