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 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