1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 01:47:34 +00:00

Partition Table: Add support for Extended partitions

Now also MBR configurations with extended partitions are supported.
This commit is contained in:
Liav A 2020-02-01 23:28:39 +02:00 committed by Andreas Kling
parent 8cde707931
commit 81544dc5b4
6 changed files with 302 additions and 10 deletions

View file

@ -33,6 +33,8 @@
#define MBR_SIGNATURE 0xaa55
#define MBR_PROTECTIVE 0xEE
#define EBR_CHS_CONTAINER 0x05
#define EBR_LBA_CONTAINER 0x0F
struct [[gnu::packed]] MBRPartitionEntry
{
@ -60,11 +62,12 @@ class MBRPartitionTable {
AK_MAKE_ETERNAL
public:
MBRPartitionTable(NonnullRefPtr<DiskDevice>);
explicit MBRPartitionTable(NonnullRefPtr<DiskDevice>);
~MBRPartitionTable();
bool initialize();
bool is_protective_mbr() const;
bool contains_ebr() const;
RefPtr<DiskPartition> partition(unsigned index);
private: