diff options
author | srs5694 <srs5694@users.sourceforge.net> | 2010-03-07 22:16:07 -0500 |
---|---|---|
committer | srs5694 <srs5694@users.sourceforge.net> | 2010-03-07 22:16:07 -0500 |
commit | 55d926192adc984462509b2966e23bc0d1129bbd (patch) | |
tree | bff8bea805e3fb0e15f7f3a0cd26a20fa12c5f29 /gpt.h | |
parent | ea17cffd083c839b7af3560d55ba697667277901 (diff) | |
download | sgdisk-55d926192adc984462509b2966e23bc0d1129bbd.tar.gz |
Updated project files for 0.6.5 release version.
Diffstat (limited to 'gpt.h')
-rw-r--r-- | gpt.h | 14 |
1 files changed, 11 insertions, 3 deletions
@@ -11,11 +11,12 @@ #include "mbr.h" #include "bsd.h" #include "gptpart.h" +#include "partnotes.h" #ifndef __GPTSTRUCTS #define __GPTSTRUCTS -#define GPTFDISK_VERSION "0.6.5-pre1" +#define GPTFDISK_VERSION "0.6.5" // Constants used by GPTData::PartsToMBR(). MBR_EMPTY must be the lowest- // numbered value to refer to partition numbers. (Most will be 0 or positive, @@ -25,6 +26,8 @@ using namespace std; +class PartNotes; + /**************************************** * * * GPTData class and related structures * @@ -101,6 +104,7 @@ public: void RebuildSecondHeader(void); int FindHybridMismatches(void); int FindOverlaps(void); + int FindInsanePartitions(void); // Load or save data from/to disk int LoadMBR(const string & f) {return protectiveMBR.ReadMBRData(f);} @@ -130,7 +134,7 @@ public: virtual int XFormDisklabel(uint32_t partNum); int XFormDisklabel(BSDData* disklabel); int OnePartToMBR(uint32_t gptPart, int mbrPart); // add one partition to MBR. Returns 1 if successful - int PartsToMBR(const int *gptParts, const int *mbrTypes); + int PartsToMBR(PartNotes & notes); // Adjust GPT structures WITHOUT user interaction... int SetGPTSize(uint32_t numEntries); @@ -157,6 +161,10 @@ public: uint64_t GetSecondHeaderLBA(void) {return secondHeader.currentLBA;} uint64_t GetMainPartsLBA(void) {return mainHeader.partitionEntriesLBA;} uint64_t GetSecondPartsLBA(void) {return secondHeader.partitionEntriesLBA;} + uint64_t GetFirstUsableLBA(void) {return mainHeader.firstUsableLBA;} + uint64_t GetLastUsableLBA(void) {return mainHeader.lastUsableLBA;} + uint64_t GetPartFirstLBA(uint32_t i) {return partitions[i].GetFirstLBA();} + uint64_t GetPartLastLBA(uint32_t i) {return partitions[i].GetLastLBA();} uint32_t CountParts(void); // Find information about free space @@ -165,7 +173,7 @@ public: uint64_t FindLastAvailable(); uint64_t FindLastInFree(uint64_t start); uint64_t FindFreeBlocks(uint32_t *numSegments, uint64_t *largestSegment); - int IsFree(uint64_t sector); + int IsFree(uint64_t sector, uint32_t *partNum = NULL); int IsFreePartNum(uint32_t partNum); // Change how functions work, or return information on same |