0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _LINUX_EXT2_FS_H
0018 #define _LINUX_EXT2_FS_H
0019
0020 #include <linux/types.h>
0021 #include <linux/magic.h>
0022
0023 #define EXT2_NAME_LEN 255
0024
0025
0026
0027
0028 #define EXT2_LINK_MAX 32000
0029
0030 #define EXT2_SB_MAGIC_OFFSET 0x38
0031 #define EXT2_SB_BLOCKS_OFFSET 0x04
0032 #define EXT2_SB_BSIZE_OFFSET 0x18
0033
0034 static inline u64 ext2_image_size(void *ext2_sb)
0035 {
0036 __u8 *p = ext2_sb;
0037 if (*(__le16 *)(p + EXT2_SB_MAGIC_OFFSET) != cpu_to_le16(EXT2_SUPER_MAGIC))
0038 return 0;
0039 return (u64)le32_to_cpup((__le32 *)(p + EXT2_SB_BLOCKS_OFFSET)) <<
0040 le32_to_cpup((__le32 *)(p + EXT2_SB_BSIZE_OFFSET));
0041 }
0042
0043 #endif