1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _LINUX_MSDOS_PARTITION_H
3 #define _LINUX_MSDOS_PARTITION_H
4 
5 #define MSDOS_LABEL_MAGIC		0xAA55
6 
7 struct msdos_partition {
8 	u8 boot_ind;		/* 0x80 - active */
9 	u8 head;		/* starting head */
10 	u8 sector;		/* starting sector */
11 	u8 cyl;			/* starting cylinder */
12 	u8 sys_ind;		/* What partition type */
13 	u8 end_head;		/* end head */
14 	u8 end_sector;		/* end sector */
15 	u8 end_cyl;		/* end cylinder */
16 	__le32 start_sect;	/* starting sector counting from 0 */
17 	__le32 nr_sects;	/* nr of sectors in partition */
18 } __packed;
19 
20 enum msdos_sys_ind {
21 	/*
22 	 * These three have identical behaviour; use the second one if DOS FDISK
23 	 * gets confused about extended/logical partitions starting past
24 	 * cylinder 1023.
25 	 */
26 	DOS_EXTENDED_PARTITION = 5,
27 	LINUX_EXTENDED_PARTITION = 0x85,
28 	WIN98_EXTENDED_PARTITION = 0x0f,
29 
30 	LINUX_DATA_PARTITION = 0x83,
31 	LINUX_LVM_PARTITION = 0x8e,
32 	LINUX_RAID_PARTITION = 0xfd,	/* autodetect RAID partition */
33 
34 	SOLARIS_X86_PARTITION =	0x82,	/* also Linux swap partitions */
35 	NEW_SOLARIS_X86_PARTITION = 0xbf,
36 
37 	DM6_AUX1PARTITION = 0x51,	/* no DDO:  use xlated geom */
38 	DM6_AUX3PARTITION = 0x53,	/* no DDO:  use xlated geom */
39 	DM6_PARTITION =	0x54,		/* has DDO: use xlated geom & offset */
40 	EZD_PARTITION =	0x55,		/* EZ-DRIVE */
41 
42 	FREEBSD_PARTITION = 0xa5,	/* FreeBSD Partition ID */
43 	OPENBSD_PARTITION = 0xa6,	/* OpenBSD Partition ID */
44 	NETBSD_PARTITION = 0xa9,	/* NetBSD Partition ID */
45 	BSDI_PARTITION = 0xb7,		/* BSDI Partition ID */
46 	MINIX_PARTITION = 0x81,		/* Minix Partition ID */
47 	UNIXWARE_PARTITION = 0x63,	/* Same as GNU_HURD and SCO Unix */
48 };
49 
50 #endif /* LINUX_MSDOS_PARTITION_H */
51