Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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); |