xref: /linux/fs/squashfs/squashfs_fs_i.h (revision 3d0fe49454652117522f60bfbefb978ba0e5300b)
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 	union {
20 		struct {
21 			u64		fragment_block;
22 			int		fragment_size;
23 			int		fragment_offset;
24 			u64		block_list_start;
25 		};
26 		struct {
27 			u64		dir_idx_start;
28 			int		dir_idx_offset;
29 			int		dir_idx_cnt;
30 			int		parent;
31 		};
32 	};
33 	struct inode	vfs_inode;
34 };
35 
36 
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