atari.h 1.1 KB

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