Deleted Added
full compact
ext2_dinode.h (244475) ext2_dinode.h (245121)
1/*-
2 * Copyright (c) 2009 Aditya Sarawgi
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 9 unchanged lines hidden (view full) ---

18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 *
1/*-
2 * Copyright (c) 2009 Aditya Sarawgi
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 9 unchanged lines hidden (view full) ---

18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 *
26 * $FreeBSD: head/sys/fs/ext2fs/ext2_dinode.h 244475 2012-12-20 02:22:36Z pfg $
26 * $FreeBSD: head/sys/fs/ext2fs/ext2_dinode.h 245121 2013-01-07 03:36:32Z pfg $
27 */
28
29#ifndef _FS_EXT2FS_EXT2_DINODE_H_
30#define _FS_EXT2FS_EXT2_DINODE_H_
31
27 */
28
29#ifndef _FS_EXT2FS_EXT2_DINODE_H_
30#define _FS_EXT2FS_EXT2_DINODE_H_
31
32#define e2di_size_high e2di_dacl
33
34/*
35 * Special inode numbers
36 * The root inode is the root of the file system. Inode 0 can't be used for
37 * normal purposes and bad blocks are normally linked to inode 1, thus
38 * the root inode is 2.
39 * Inode 3 to 10 are reserved in ext2fs.
40 */
41#define EXT2_BADBLKINO ((ino_t)1)

--- 40 unchanged lines hidden (view full) ---

82#define E2DI_HAS_XTIME(ip) (EXT2_HAS_RO_COMPAT_FEATURE(ip->i_e2fs, EXT2F_ROCOMPAT_EXTRA_ISIZE))
83
84/*
85 * Structure of an inode on the disk
86 */
87struct ext2fs_dinode {
88 uint16_t e2di_mode; /* 0: IFMT, permissions; see below. */
89 uint16_t e2di_uid; /* 2: Owner UID */
32/*
33 * Special inode numbers
34 * The root inode is the root of the file system. Inode 0 can't be used for
35 * normal purposes and bad blocks are normally linked to inode 1, thus
36 * the root inode is 2.
37 * Inode 3 to 10 are reserved in ext2fs.
38 */
39#define EXT2_BADBLKINO ((ino_t)1)

--- 40 unchanged lines hidden (view full) ---

80#define E2DI_HAS_XTIME(ip) (EXT2_HAS_RO_COMPAT_FEATURE(ip->i_e2fs, EXT2F_ROCOMPAT_EXTRA_ISIZE))
81
82/*
83 * Structure of an inode on the disk
84 */
85struct ext2fs_dinode {
86 uint16_t e2di_mode; /* 0: IFMT, permissions; see below. */
87 uint16_t e2di_uid; /* 2: Owner UID */
90 uint32_t e2di_size; /* 4: Size (in bytes) */
91 uint32_t e2di_atime; /* 8: Access time */
92 uint32_t e2di_ctime; /* 12: Change time */
93 uint32_t e2di_mtime; /* 16: Modification time */
94 uint32_t e2di_dtime; /* 20: Deletion time */
88 uint32_t e2di_size; /* 4: Size (in bytes) */
89 uint32_t e2di_atime; /* 8: Access time */
90 uint32_t e2di_ctime; /* 12: Change time */
91 uint32_t e2di_mtime; /* 16: Modification time */
92 uint32_t e2di_dtime; /* 20: Deletion time */
95 uint16_t e2di_gid; /* 24: Owner GID */
96 uint16_t e2di_nlink; /* 26: File link count */
97 uint32_t e2di_nblock; /* 28: Blocks count */
98 uint32_t e2di_flags; /* 32: Status flags (chflags) */
99 uint32_t e2di_version; /* 36: Low 32 bits inode version */
100 uint32_t e2di_blocks[EXT2_N_BLOCKS]; /* 40: disk blocks */
101 uint32_t e2di_gen; /* 100: generation number */
93 uint16_t e2di_gid; /* 24: Owner GID */
94 uint16_t e2di_nlink; /* 26: File link count */
95 uint32_t e2di_nblock; /* 28: Blocks count */
96 uint32_t e2di_flags; /* 32: Status flags (chflags) */
97 uint32_t e2di_version; /* 36: Low 32 bits inode version */
98 uint32_t e2di_blocks[EXT2_N_BLOCKS]; /* 40: disk blocks */
99 uint32_t e2di_gen; /* 100: generation number */
102 uint32_t e2di_facl; /* 104: file ACL (not implemented) */
103 uint32_t e2di_dacl; /* 108: dir ACL (not implemented) */
104 uint32_t e2di_faddr; /* 112: fragment address */
100 uint32_t e2di_facl; /* 104: Low EA block */
101 uint32_t e2di_size_high; /* 108: Upper bits of file size */
102 uint32_t e2di_faddr; /* 112: Fragment address (obsolete) */
105 uint16_t e2di_nblock_high; /* 116: Blocks count bits 47:32 */
103 uint16_t e2di_nblock_high; /* 116: Blocks count bits 47:32 */
106 uint16_t e2di_facl_high; /* 118: file ACL bits 47:32 */
104 uint16_t e2di_facl_high; /* 118: File EA bits 47:32 */
107 uint16_t e2di_uid_high; /* 120: Owner UID top 16 bits */
108 uint16_t e2di_gid_high; /* 122: Owner GID top 16 bits */
105 uint16_t e2di_uid_high; /* 120: Owner UID top 16 bits */
106 uint16_t e2di_gid_high; /* 122: Owner GID top 16 bits */
109 uint32_t e2di_linux_reserved3; /* 124 */
110 uint16_t e2di_extra_isize;
111 uint16_t e2di_pad1;
112 uint32_t e2di_ctime_extra; /* Extra change time */
113 uint32_t e2di_mtime_extra; /* Extra modification time */
114 uint32_t e2di_atime_extra; /* Extra access time */
115 uint32_t e2di_crtime; /* Creation (birth)time */
116 uint32_t e2di_crtime_extra; /* Extra creation (birth)time */
117 uint32_t e2di_version_hi; /* High 30 bits of inode version */
107 uint16_t e2di_chksum_lo; /* 124: Lower inode checksum */
108 uint16_t e2di_lx_reserved; /* 126: Unused */
109 uint16_t e2di_extra_isize; /* 128: Size of this inode */
110 uint16_t e2di_chksum_hi; /* 130: High inode checksum */
111 uint32_t e2di_ctime_extra; /* 132: Extra change time */
112 uint32_t e2di_mtime_extra; /* 136: Extra modification time */
113 uint32_t e2di_atime_extra; /* 140: Extra access time */
114 uint32_t e2di_crtime; /* 144: Creation (birth)time */
115 uint32_t e2di_crtime_extra; /* 148: Extra creation (birth)time */
116 uint32_t e2di_version_hi; /* 152: High bits of inode version */
118};
119
120#endif /* !_FS_EXT2FS_EXT2_DINODE_H_ */
121
117};
118
119#endif /* !_FS_EXT2FS_EXT2_DINODE_H_ */
120