atari.h 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637
  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. #include <linux/compiler.h>
  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. struct rootsector
  22. {
  23. char unused[0x156]; /* room for boot code */
  24. struct partition_info icdpart[8]; /* info for ICD-partitions 5..12 */
  25. char unused2[0xc];
  26. u32 hd_siz; /* size of disk in blocks */
  27. struct partition_info part[4];
  28. u32 bsl_st; /* start of bad sector list */
  29. u32 bsl_cnt; /* length of bad sector list */
  30. u16 checksum; /* checksum for bootable disks */
  31. } __packed;
  32. int atari_partition(struct parsed_partitions *state);