xref: /linux/include/linux/msdos_partition.h (revision 0226e9ead44b2eb8f2471d24e0b0c5ff60bc322c)
11442f76dSChristoph Hellwig /* SPDX-License-Identifier: GPL-2.0 */
21442f76dSChristoph Hellwig #ifndef _LINUX_MSDOS_PARTITION_H
31442f76dSChristoph Hellwig #define _LINUX_MSDOS_PARTITION_H
41442f76dSChristoph Hellwig 
51442f76dSChristoph Hellwig #define MSDOS_LABEL_MAGIC		0xAA55
61442f76dSChristoph Hellwig 
71442f76dSChristoph Hellwig struct msdos_partition {
81442f76dSChristoph Hellwig 	u8 boot_ind;		/* 0x80 - active */
91442f76dSChristoph Hellwig 	u8 head;		/* starting head */
101442f76dSChristoph Hellwig 	u8 sector;		/* starting sector */
111442f76dSChristoph Hellwig 	u8 cyl;			/* starting cylinder */
121442f76dSChristoph Hellwig 	u8 sys_ind;		/* What partition type */
131442f76dSChristoph Hellwig 	u8 end_head;		/* end head */
141442f76dSChristoph Hellwig 	u8 end_sector;		/* end sector */
151442f76dSChristoph Hellwig 	u8 end_cyl;		/* end cylinder */
161442f76dSChristoph Hellwig 	__le32 start_sect;	/* starting sector counting from 0 */
171442f76dSChristoph Hellwig 	__le32 nr_sects;	/* nr of sectors in partition */
181442f76dSChristoph Hellwig } __packed;
191442f76dSChristoph Hellwig 
20*0226e9eaSChristoph Hellwig enum msdos_sys_ind {
21*0226e9eaSChristoph Hellwig 	/*
22*0226e9eaSChristoph Hellwig 	 * These three have identical behaviour; use the second one if DOS FDISK
23*0226e9eaSChristoph Hellwig 	 * gets confused about extended/logical partitions starting past
24*0226e9eaSChristoph Hellwig 	 * cylinder 1023.
25*0226e9eaSChristoph Hellwig 	 */
26*0226e9eaSChristoph Hellwig 	DOS_EXTENDED_PARTITION = 5,
27*0226e9eaSChristoph Hellwig 	LINUX_EXTENDED_PARTITION = 0x85,
28*0226e9eaSChristoph Hellwig 	WIN98_EXTENDED_PARTITION = 0x0f,
29*0226e9eaSChristoph Hellwig 
30*0226e9eaSChristoph Hellwig 	LINUX_SWAP_PARTITION = 0x82,
31*0226e9eaSChristoph Hellwig 	LINUX_DATA_PARTITION = 0x83,
32*0226e9eaSChristoph Hellwig 	LINUX_LVM_PARTITION = 0x8e,
33*0226e9eaSChristoph Hellwig 	LINUX_RAID_PARTITION = 0xfd,	/* autodetect RAID partition */
34*0226e9eaSChristoph Hellwig 
35*0226e9eaSChristoph Hellwig 	SOLARIS_X86_PARTITION =	LINUX_SWAP_PARTITION,
36*0226e9eaSChristoph Hellwig 	NEW_SOLARIS_X86_PARTITION = 0xbf,
37*0226e9eaSChristoph Hellwig 
38*0226e9eaSChristoph Hellwig 	DM6_AUX1PARTITION = 0x51,	/* no DDO:  use xlated geom */
39*0226e9eaSChristoph Hellwig 	DM6_AUX3PARTITION = 0x53,	/* no DDO:  use xlated geom */
40*0226e9eaSChristoph Hellwig 	DM6_PARTITION =	0x54,		/* has DDO: use xlated geom & offset */
41*0226e9eaSChristoph Hellwig 	EZD_PARTITION =	0x55,		/* EZ-DRIVE */
42*0226e9eaSChristoph Hellwig 
43*0226e9eaSChristoph Hellwig 	FREEBSD_PARTITION = 0xa5,	/* FreeBSD Partition ID */
44*0226e9eaSChristoph Hellwig 	OPENBSD_PARTITION = 0xa6,	/* OpenBSD Partition ID */
45*0226e9eaSChristoph Hellwig 	NETBSD_PARTITION = 0xa9,	/* NetBSD Partition ID */
46*0226e9eaSChristoph Hellwig 	BSDI_PARTITION = 0xb7,		/* BSDI Partition ID */
47*0226e9eaSChristoph Hellwig 	MINIX_PARTITION = 0x81,		/* Minix Partition ID */
48*0226e9eaSChristoph Hellwig 	UNIXWARE_PARTITION = 0x63,	/* Same as GNU_HURD and SCO Unix */
49*0226e9eaSChristoph Hellwig };
50*0226e9eaSChristoph Hellwig 
511442f76dSChristoph Hellwig #endif /* LINUX_MSDOS_PARTITION_H */
52