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