1
0
Files
irix-657m-src/eoe/cmd/mediad/PartitionAddress.H
2022-09-29 17:59:04 +03:00

41 lines
1.0 KiB
C++

#ifndef PartitionAddress_included
#define PartitionAddress_included
#include "DeviceAddress.H"
#include "FormatIndex.H"
#include "VolumeAddress.H"
class PartitionAddress : public VolumeAddress {
public:
enum { WholeDisk = -1, UnknownPartition = -2 };
PartitionAddress(const DeviceAddress&, FormatIndex, int partno);
PartitionAddress(const PartitionAddress&);
virtual ~PartitionAddress();
virtual const PartitionAddress *as_PartitionAddress() const;
virtual PartitionAddress *as_PartitionAddress();
virtual bool operator == (const VolumeAddress&) const;
virtual bool overlaps(const VolumeAddress&) const;
virtual const PartitionAddress *partition(unsigned index) const;
const DeviceAddress& device() const { return _dev; }
FormatIndex format() const { return _format; }
int partition() const { return _part; }
protected:
virtual VolumeAddress *clone() const;
private:
DeviceAddress _dev;
FormatIndex _format;
int _part;
};
#endif /* !PartitionAddress_included */