1*8d67ca89SAndroid Build Coastguard Worker /* 2*8d67ca89SAndroid Build Coastguard Worker * This file is auto-generated. Modifications will be lost. 3*8d67ca89SAndroid Build Coastguard Worker * 4*8d67ca89SAndroid Build Coastguard Worker * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/ 5*8d67ca89SAndroid Build Coastguard Worker * for more information. 6*8d67ca89SAndroid Build Coastguard Worker */ 7*8d67ca89SAndroid Build Coastguard Worker #ifndef _LINUX_BFS_FS_H 8*8d67ca89SAndroid Build Coastguard Worker #define _LINUX_BFS_FS_H 9*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h> 10*8d67ca89SAndroid Build Coastguard Worker #define BFS_BSIZE_BITS 9 11*8d67ca89SAndroid Build Coastguard Worker #define BFS_BSIZE (1 << BFS_BSIZE_BITS) 12*8d67ca89SAndroid Build Coastguard Worker #define BFS_MAGIC 0x1BADFACE 13*8d67ca89SAndroid Build Coastguard Worker #define BFS_ROOT_INO 2 14*8d67ca89SAndroid Build Coastguard Worker #define BFS_INODES_PER_BLOCK 8 15*8d67ca89SAndroid Build Coastguard Worker #define BFS_VDIR 2L 16*8d67ca89SAndroid Build Coastguard Worker #define BFS_VREG 1L 17*8d67ca89SAndroid Build Coastguard Worker struct bfs_inode { 18*8d67ca89SAndroid Build Coastguard Worker __le16 i_ino; 19*8d67ca89SAndroid Build Coastguard Worker __u16 i_unused; 20*8d67ca89SAndroid Build Coastguard Worker __le32 i_sblock; 21*8d67ca89SAndroid Build Coastguard Worker __le32 i_eblock; 22*8d67ca89SAndroid Build Coastguard Worker __le32 i_eoffset; 23*8d67ca89SAndroid Build Coastguard Worker __le32 i_vtype; 24*8d67ca89SAndroid Build Coastguard Worker __le32 i_mode; 25*8d67ca89SAndroid Build Coastguard Worker __le32 i_uid; 26*8d67ca89SAndroid Build Coastguard Worker __le32 i_gid; 27*8d67ca89SAndroid Build Coastguard Worker __le32 i_nlink; 28*8d67ca89SAndroid Build Coastguard Worker __le32 i_atime; 29*8d67ca89SAndroid Build Coastguard Worker __le32 i_mtime; 30*8d67ca89SAndroid Build Coastguard Worker __le32 i_ctime; 31*8d67ca89SAndroid Build Coastguard Worker __u32 i_padding[4]; 32*8d67ca89SAndroid Build Coastguard Worker }; 33*8d67ca89SAndroid Build Coastguard Worker #define BFS_NAMELEN 14 34*8d67ca89SAndroid Build Coastguard Worker #define BFS_DIRENT_SIZE 16 35*8d67ca89SAndroid Build Coastguard Worker #define BFS_DIRS_PER_BLOCK 32 36*8d67ca89SAndroid Build Coastguard Worker struct bfs_dirent { 37*8d67ca89SAndroid Build Coastguard Worker __le16 ino; 38*8d67ca89SAndroid Build Coastguard Worker char name[BFS_NAMELEN]; 39*8d67ca89SAndroid Build Coastguard Worker }; 40*8d67ca89SAndroid Build Coastguard Worker struct bfs_super_block { 41*8d67ca89SAndroid Build Coastguard Worker __le32 s_magic; 42*8d67ca89SAndroid Build Coastguard Worker __le32 s_start; 43*8d67ca89SAndroid Build Coastguard Worker __le32 s_end; 44*8d67ca89SAndroid Build Coastguard Worker __le32 s_from; 45*8d67ca89SAndroid Build Coastguard Worker __le32 s_to; 46*8d67ca89SAndroid Build Coastguard Worker __s32 s_bfrom; 47*8d67ca89SAndroid Build Coastguard Worker __s32 s_bto; 48*8d67ca89SAndroid Build Coastguard Worker char s_fsname[6]; 49*8d67ca89SAndroid Build Coastguard Worker char s_volume[6]; 50*8d67ca89SAndroid Build Coastguard Worker __u32 s_padding[118]; 51*8d67ca89SAndroid Build Coastguard Worker }; 52*8d67ca89SAndroid Build Coastguard Worker #define BFS_OFF2INO(offset) ((((offset) - BFS_BSIZE) / sizeof(struct bfs_inode)) + BFS_ROOT_INO) 53*8d67ca89SAndroid Build Coastguard Worker #define BFS_INO2OFF(ino) ((__u32) (((ino) - BFS_ROOT_INO) * sizeof(struct bfs_inode)) + BFS_BSIZE) 54*8d67ca89SAndroid Build Coastguard Worker #define BFS_NZFILESIZE(ip) ((le32_to_cpu((ip)->i_eoffset) + 1) - le32_to_cpu((ip)->i_sblock) * BFS_BSIZE) 55*8d67ca89SAndroid Build Coastguard Worker #define BFS_FILESIZE(ip) ((ip)->i_sblock == 0 ? 0 : BFS_NZFILESIZE(ip)) 56*8d67ca89SAndroid Build Coastguard Worker #define BFS_FILEBLOCKS(ip) ((ip)->i_sblock == 0 ? 0 : (le32_to_cpu((ip)->i_eblock) + 1) - le32_to_cpu((ip)->i_sblock)) 57*8d67ca89SAndroid Build Coastguard Worker #define BFS_UNCLEAN(bfs_sb,sb) ((le32_to_cpu(bfs_sb->s_from) != - 1) && (le32_to_cpu(bfs_sb->s_to) != - 1) && ! (sb->s_flags & SB_RDONLY)) 58*8d67ca89SAndroid Build Coastguard Worker #endif 59