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 */