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
7struct 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
20enum 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