xref: /linux/block/partitions/atari.h (revision fd639726bf15fca8ee1a00dce8e0096d0ad9bd18)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  *  fs/partitions/atari.h
4  *  Moved by Russell King from:
5  *
6  * linux/include/linux/atari_rootsec.h
7  * definitions for Atari Rootsector layout
8  * by Andreas Schwab (schwab@ls5.informatik.uni-dortmund.de)
9  *
10  * modified for ICD/Supra partitioning scheme restricted to at most 12
11  * partitions
12  * by Guenther Kelleter (guenther@pool.informatik.rwth-aachen.de)
13  */
14 
15 #include <linux/compiler.h>
16 
17 struct partition_info
18 {
19   u8 flg;			/* bit 0: active; bit 7: bootable */
20   char id[3];			/* "GEM", "BGM", "XGM", or other */
21   __be32 st;			/* start of partition */
22   __be32 siz;			/* length of partition */
23 };
24 
25 struct rootsector
26 {
27   char unused[0x156];		/* room for boot code */
28   struct partition_info icdpart[8];	/* info for ICD-partitions 5..12 */
29   char unused2[0xc];
30   u32 hd_siz;			/* size of disk in blocks */
31   struct partition_info part[4];
32   u32 bsl_st;			/* start of bad sector list */
33   u32 bsl_cnt;			/* length of bad sector list */
34   u16 checksum;			/* checksum for bootable disks */
35 } __packed;
36 
37 int atari_partition(struct parsed_partitions *state);
38