1 /* 2 * This header was generated from the Linux kernel headers by update_headers.py, 3 * to provide necessary information from kernel to userspace, such as constants, 4 * structures, and macros, and thus, contains no copyrightable information. 5 */ 6 #ifndef _LINUX_MINIX_FS_H 7 #define _LINUX_MINIX_FS_H 8 #include <linux/types.h> 9 #include <linux/magic.h> 10 #define MINIX_ROOT_INO 1 11 #define MINIX_LINK_MAX 250 12 #define MINIX2_LINK_MAX 65530 13 #define MINIX_I_MAP_SLOTS 8 14 #define MINIX_Z_MAP_SLOTS 64 15 #define MINIX_VALID_FS 0x0001 16 #define MINIX_ERROR_FS 0x0002 17 #define MINIX_INODES_PER_BLOCK ((BLOCK_SIZE)/(sizeof (struct minix_inode))) 18 struct minix_inode { 19 __u16 i_mode; 20 __u16 i_uid; 21 __u32 i_size; 22 __u32 i_time; 23 __u8 i_gid; 24 __u8 i_nlinks; 25 __u16 i_zone[9]; 26 }; 27 struct minix2_inode { 28 __u16 i_mode; 29 __u16 i_nlinks; 30 __u16 i_uid; 31 __u16 i_gid; 32 __u32 i_size; 33 __u32 i_atime; 34 __u32 i_mtime; 35 __u32 i_ctime; 36 __u32 i_zone[10]; 37 }; 38 struct minix_super_block { 39 __u16 s_ninodes; 40 __u16 s_nzones; 41 __u16 s_imap_blocks; 42 __u16 s_zmap_blocks; 43 __u16 s_firstdatazone; 44 __u16 s_log_zone_size; 45 __u32 s_max_size; 46 __u16 s_magic; 47 __u16 s_state; 48 __u32 s_zones; 49 }; 50 struct minix3_super_block { 51 __u32 s_ninodes; 52 __u16 s_pad0; 53 __u16 s_imap_blocks; 54 __u16 s_zmap_blocks; 55 __u16 s_firstdatazone; 56 __u16 s_log_zone_size; 57 __u16 s_pad1; 58 __u32 s_max_size; 59 __u32 s_zones; 60 __u16 s_magic; 61 __u16 s_pad2; 62 __u16 s_blocksize; 63 __u8 s_disk_version; 64 }; 65 struct minix_dir_entry { 66 __u16 inode; 67 char name[0]; 68 }; 69 struct minix3_dir_entry { 70 __u32 inode; 71 char name[0]; 72 }; 73 #endif 74