1ec103c3cSStephan Aßmus /* 2ec103c3cSStephan Aßmus * Copyright 2002-2007 Haiku Inc. All rights reserved. 3ec103c3cSStephan Aßmus * Distributed under the terms of the MIT license. 4ec103c3cSStephan Aßmus */ 5ec103c3cSStephan Aßmus #ifndef SUPPORT_H 6ec103c3cSStephan Aßmus #define SUPPORT_H 7ec103c3cSStephan Aßmus 8ec103c3cSStephan Aßmus 9*967d7204SStephan Aßmus #include <DiskDeviceDefs.h> 10*967d7204SStephan Aßmus #include <HashMap.h> 11*967d7204SStephan Aßmus #include <HashString.h> 12ec103c3cSStephan Aßmus 13ec103c3cSStephan Aßmus 14ec103c3cSStephan Aßmus class BPartition; 15ec103c3cSStephan Aßmus 16ec103c3cSStephan Aßmus 17ec103c3cSStephan Aßmus const char* string_for_size(off_t size, char *string); 18ec103c3cSStephan Aßmus 19ec103c3cSStephan Aßmus void dump_partition_info(const BPartition* partition); 20ec103c3cSStephan Aßmus 21*967d7204SStephan Aßmus bool is_valid_partitionable_space(size_t size); 22*967d7204SStephan Aßmus 23*967d7204SStephan Aßmus 24*967d7204SStephan Aßmus class SpaceIDMap : public HashMap<HashString, partition_id> { 25*967d7204SStephan Aßmus public: 26*967d7204SStephan Aßmus SpaceIDMap(); 27*967d7204SStephan Aßmus virtual ~SpaceIDMap(); 28*967d7204SStephan Aßmus 29*967d7204SStephan Aßmus partition_id SpaceIDFor(partition_id parentID, 30*967d7204SStephan Aßmus off_t spaceOffset); 31*967d7204SStephan Aßmus 32*967d7204SStephan Aßmus private: 33*967d7204SStephan Aßmus partition_id fNextSpaceID; 34*967d7204SStephan Aßmus }; 35*967d7204SStephan Aßmus 36ec103c3cSStephan Aßmus 37ec103c3cSStephan Aßmus #endif // SUPPORT_H 38