xref: /linux/fs/squashfs/squashfs_fs_i.h (revision e406d57be7bd2a4e73ea512c1ae36a40a44e499e)
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 #ifndef SQUASHFS_FS_I
3 #define SQUASHFS_FS_I
4 /*
5  * Squashfs
6  *
7  * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008
8  * Phillip Lougher <phillip@squashfs.org.uk>
9  *
10  * squashfs_fs_i.h
11  */
12 
13 struct squashfs_inode_info {
14 	u64		start;
15 	int		offset;
16 	u64		xattr;
17 	unsigned int	xattr_size;
18 	int		xattr_count;
19 	int		parent;
20 	union {
21 		struct {
22 			u64		fragment_block;
23 			int		fragment_size;
24 			int		fragment_offset;
25 			u64		block_list_start;
26 		};
27 		struct {
28 			u64		dir_idx_start;
29 			int		dir_idx_offset;
30 			int		dir_idx_cnt;
31 		};
32 	};
33 	struct inode	vfs_inode;
34 };
35 
36 
squashfs_i(struct inode * inode)37 static inline struct squashfs_inode_info *squashfs_i(struct inode *inode)
38 {
39 	return container_of(inode, struct squashfs_inode_info, vfs_inode);
40 }
41 #endif
42