1 #ifndef UTIL_LINUX_MINIX_H
2 #define UTIL_LINUX_MINIX_H
28 struct minix_super_block {
31 uint16_t s_imap_blocks;
32 uint16_t s_zmap_blocks;
33 uint16_t s_firstdatazone;
34 uint16_t s_log_zone_size;
41 /* V3 minix super-block data on disk */
42 struct minix3_super_block {
45 uint16_t s_imap_blocks;
46 uint16_t s_zmap_blocks;
47 uint16_t s_firstdatazone;
48 uint16_t s_log_zone_size;
55 uint8_t s_disk_version;
59 * Minix subpartitions are always within primary dos partition.
61 #define MINIX_MAXPARTITIONS 4
63 #define MINIX_BLOCK_SIZE_BITS 10
64 #define MINIX_BLOCK_SIZE (1 << MINIX_BLOCK_SIZE_BITS)
66 #define MINIX_NAME_MAX 255 /* # chars in a file name */
67 #define MINIX_MAX_INODES 65535
69 #define MINIX_INODES_PER_BLOCK ((MINIX_BLOCK_SIZE)/(sizeof (struct minix_inode)))
70 #define MINIX2_INODES_PER_BLOCK ((MINIX_BLOCK_SIZE)/(sizeof (struct minix2_inode)))
72 /* minix_super_block.s_state */
73 #define MINIX_VALID_FS 0x0001 /* Clean fs. */
74 #define MINIX_ERROR_FS 0x0002 /* fs has errors. */
76 #define MINIX_SUPER_MAGIC 0x137F /* original minix fs */
77 #define MINIX_SUPER_MAGIC2 0x138F /* minix fs, 30 char names */
78 #define MINIX2_SUPER_MAGIC 0x2468 /* minix V2 fs */
79 #define MINIX2_SUPER_MAGIC2 0x2478 /* minix V2 fs, 30 char names */
80 #define MINIX3_SUPER_MAGIC 0x4d5a /* minix V3 fs (60 char names) */
82 #endif /* UTIL_LINUX_MINIX_H */