| /* mbr.h -- MBR data structure definitions, types, and functions */ |
| |
| /* This program is copyright (c) 2009-2013 by Roderick W. Smith. It is distributed |
| under the terms of the GNU GPL version 2, as detailed in the COPYING file. */ |
| |
| #ifndef __MBRSTRUCTS |
| #define __MBRSTRUCTS |
| |
| #include <stdint.h> |
| #include <sys/types.h> |
| #include "gptpart.h" |
| //#include "partnotes.h" |
| #include "diskio.h" |
| #include "basicmbr.h" |
| |
| /**************************************** |
| * * |
| * MBRData class and related structures * |
| * * |
| ****************************************/ |
| |
| // Full data in tweaked MBR format |
| class MBRData : public BasicMBRData { |
| protected: |
| public: |
| MBRData(void) {} |
| MBRData(std::string deviceFilename) : BasicMBRData(deviceFilename) {} |
| MBRData & operator=(const BasicMBRData & orig); |
| ~MBRData(void); |
| |
| // Functions to create, delete, or change partitions |
| // Pass EmptyMBR 1 to clear the boot loader code, 0 to leave it intact |
| void MakeProtectiveMBR(int clearBoot = 0); |
| void OptimizeEESize(void); |
| int DeleteByLocation(uint64_t start64, uint64_t length64); |
| |
| // Functions to extract data on specific partitions.... |
| GPTPart AsGPT(int i); |
| }; // struct MBRData |
| |
| #endif |