Merge master.kernel.org:/home/rmk/linux-2.6-arm
[linux-2.6] / fs / 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 struct partition_info
15 {
16   u8 flg;                       /* bit 0: active; bit 7: bootable */
17   char id[3];                   /* "GEM", "BGM", "XGM", or other */
18   __be32 st;                    /* start of partition */
19   __be32 siz;                   /* length of partition */
20 };
21
22 struct rootsector
23 {
24   char unused[0x156];           /* room for boot code */
25   struct partition_info icdpart[8];     /* info for ICD-partitions 5..12 */
26   char unused2[0xc];
27   u32 hd_siz;                   /* size of disk in blocks */
28   struct partition_info part[4];
29   u32 bsl_st;                   /* start of bad sector list */
30   u32 bsl_cnt;                  /* length of bad sector list */
31   u16 checksum;                 /* checksum for bootable disks */
32 } __attribute__((__packed__));
33
34 int atari_partition(struct parsed_partitions *state, struct block_device *bdev);