summaryrefslogtreecommitdiffhomepage
path: root/src/loader/inc/mbr.h
blob: ec51944cec93e97c7762681dcbd430c46c43ff65 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// MIT License, Copyright (c) 2021 Marvin Borner

#ifndef MBR_H
#define MBR_H

#include <def.h>
#include <device.h>

struct mbr_entry {
	u8 attributes;
	u8 chs_start[3];
	u8 type;
	u8 chs_end[3];
	u32 start;
	u32 size;
} PACKED;

struct mbr {
	u8 bootstrap[440];
	u32 signature;
	u16 reserved;
	struct mbr_entry entries[4];
	u16 magic;
} PACKED;

u8 mbr_detect(struct dev *dev);

#endif