• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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