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