1 /* 2 * This header was generated from the Linux kernel headers by update_headers.py, 3 * to provide necessary information from kernel to userspace, such as constants, 4 * structures, and macros, and thus, contains no copyrightable information. 5 */ 6 #ifndef __EFS_FS_SB_H__ 7 #define __EFS_FS_SB_H__ 8 #include <linux/types.h> 9 #include <linux/magic.h> 10 #define EFS_MAGIC 0x072959 11 #define EFS_NEWMAGIC 0x07295a 12 #define IS_EFS_MAGIC(x) ((x == EFS_MAGIC) || (x == EFS_NEWMAGIC)) 13 #define EFS_SUPER 1 14 #define EFS_ROOTINODE 2 15 struct efs_super { 16 __be32 fs_size; 17 __be32 fs_firstcg; 18 __be32 fs_cgfsize; 19 __be16 fs_cgisize; 20 __be16 fs_sectors; 21 __be16 fs_heads; 22 __be16 fs_ncg; 23 __be16 fs_dirty; 24 __be32 fs_time; 25 __be32 fs_magic; 26 char fs_fname[6]; 27 char fs_fpack[6]; 28 __be32 fs_bmsize; 29 __be32 fs_tfree; 30 __be32 fs_tinode; 31 __be32 fs_bmblock; 32 __be32 fs_replsb; 33 __be32 fs_lastialloc; 34 char fs_spare[20]; 35 __be32 fs_checksum; 36 }; 37 struct efs_sb_info { 38 __u32 fs_magic; 39 __u32 fs_start; 40 __u32 first_block; 41 __u32 total_blocks; 42 __u32 group_size; 43 __u32 data_free; 44 __u32 inode_free; 45 __u16 inode_blocks; 46 __u16 total_groups; 47 }; 48 #endif 49