1 /**************************************************************************** 2 **************************************************************************** 3 *** 4 *** This header was automatically generated from a Linux kernel header 5 *** of the same name, to make information necessary for userspace to 6 *** call into the kernel available to libc. It contains only constants, 7 *** structures, and macros generated from the original header, and thus, 8 *** contains no copyrightable information. 9 *** 10 **************************************************************************** 11 ****************************************************************************/ 12 #ifndef __EFS_FS_I_H__ 13 #define __EFS_FS_I_H__ 14 15 typedef int32_t efs_block_t; 16 typedef uint32_t efs_ino_t; 17 18 #define EFS_DIRECTEXTENTS 12 19 20 typedef union extent_u { 21 unsigned char raw[8]; 22 struct extent_s { 23 unsigned int ex_magic:8; 24 unsigned int ex_bn:24; 25 unsigned int ex_length:8; 26 unsigned int ex_offset:24; 27 } cooked; 28 } efs_extent; 29 30 typedef struct edevs { 31 __be16 odev; 32 __be32 ndev; 33 } efs_devs; 34 35 struct efs_dinode { 36 __be16 di_mode; 37 __be16 di_nlink; 38 __be16 di_uid; 39 __be16 di_gid; 40 __be32 di_size; 41 __be32 di_atime; 42 __be32 di_mtime; 43 __be32 di_ctime; 44 __be32 di_gen; 45 __be16 di_numextents; 46 u_char di_version; 47 u_char di_spare; 48 union di_addr { 49 efs_extent di_extents[EFS_DIRECTEXTENTS]; 50 efs_devs di_dev; 51 } di_u; 52 }; 53 54 struct efs_inode_info { 55 int numextents; 56 int lastextent; 57 58 efs_extent extents[EFS_DIRECTEXTENTS]; 59 struct inode vfs_inode; 60 }; 61 62 #endif 63 64