1 /* 2 * linux/include/linux/ext2_fs.h 3 * 4 * Copyright (C) 1992, 1993, 1994, 1995 5 * Remy Card (card@masi.ibp.fr) 6 * Laboratoire MASI - Institut Blaise Pascal 7 * Universite Pierre et Marie Curie (Paris VI) 8 * 9 * from 10 * 11 * linux/include/linux/minix_fs.h 12 * 13 * Copyright (C) 1991, 1992 Linus Torvalds 14 */ 15 16 #ifndef _LINUX_EXT2_FS_H 17 #define _LINUX_EXT2_FS_H 18 19 #include <linux/types.h> 20 #include <linux/magic.h> 21 22 #define EXT2_NAME_LEN 255 23 24 /* 25 * Maximal count of links to a file 26 */ 27 #define EXT2_LINK_MAX 32000 28 29 #define EXT2_SB_MAGIC_OFFSET 0x38 30 #define EXT2_SB_BLOCKS_OFFSET 0x04 31 #define EXT2_SB_BSIZE_OFFSET 0x18 32 ext2_image_size(void * ext2_sb)33static inline u64 ext2_image_size(void *ext2_sb) 34 { 35 __u8 *p = ext2_sb; 36 if (*(__le16 *)(p + EXT2_SB_MAGIC_OFFSET) != cpu_to_le16(EXT2_SUPER_MAGIC)) 37 return 0; 38 return (u64)le32_to_cpup((__le32 *)(p + EXT2_SB_BLOCKS_OFFSET)) << 39 le32_to_cpup((__le32 *)(p + EXT2_SB_BSIZE_OFFSET)); 40 } 41 42 #endif /* _LINUX_EXT2_FS_H */ 43