xref: /haiku/src/apps/drivesetup/Support.h (revision 967d72041f81ab74e2cd286cf91ed2b594ba91f5)
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