summaryrefslogtreecommitdiff
path: root/kernel/src/drivers/mbr.hpp
blob: 4a78a95864ee3710b1f1f349500a3996d16f6514 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#pragma once
#include <cstdint>

// mbr headers

#define MBR_ORANGE_TRACE

struct __attribute__((packed)) mbr_partition {
    std::uint8_t  drive_status;     
    std::uint8_t  chs_start[3];     
    std::uint8_t  partition_type;   
    std::uint8_t  chs_end[3];       
    std::uint32_t lba_start;      
    std::uint32_t sector_count;     
};

struct __attribute__((packed)) mbr_sector {
    std::uint8_t bootstrap[446];
    mbr_partition partitions[4];
    std::uint16_t signature;    
};