atari.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /*
  3. * fs/partitions/atari.h
  4. * Moved by Russell King from:
  5. *
  6. * linux/include/linux/atari_rootsec.h
  7. * definitions for Atari Rootsector layout
  8. * by Andreas Schwab (schwab@ls5.informatik.uni-dortmund.de)
  9. *
  10. * modified for ICD/Supra partitioning scheme restricted to at most 12
  11. * partitions
  12. * by Guenther Kelleter (guenther@pool.informatik.rwth-aachen.de)
  13. */
  14. #include <linux/compiler.h>
  15. struct partition_info
  16. {
  17. u8 flg; /* bit 0: active; bit 7: bootable */
  18. char id[3]; /* "GEM", "BGM", "XGM", or other */
  19. __be32 st; /* start of partition */
  20. __be32 siz; /* length of partition */
  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. } __packed;
  33. int atari_partition(struct parsed_partitions *state);