diff options
Diffstat (limited to 'kernel/include/linux/ext2_fs.h')
-rw-r--r-- | kernel/include/linux/ext2_fs.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/kernel/include/linux/ext2_fs.h b/kernel/include/linux/ext2_fs.h new file mode 100644 index 000000000..2723e715f --- /dev/null +++ b/kernel/include/linux/ext2_fs.h @@ -0,0 +1,42 @@ +/* + * linux/include/linux/ext2_fs.h + * + * Copyright (C) 1992, 1993, 1994, 1995 + * Remy Card (card@masi.ibp.fr) + * Laboratoire MASI - Institut Blaise Pascal + * Universite Pierre et Marie Curie (Paris VI) + * + * from + * + * linux/include/linux/minix_fs.h + * + * Copyright (C) 1991, 1992 Linus Torvalds + */ + +#ifndef _LINUX_EXT2_FS_H +#define _LINUX_EXT2_FS_H + +#include <linux/types.h> +#include <linux/magic.h> + +#define EXT2_NAME_LEN 255 + +/* + * Maximal count of links to a file + */ +#define EXT2_LINK_MAX 32000 + +#define EXT2_SB_MAGIC_OFFSET 0x38 +#define EXT2_SB_BLOCKS_OFFSET 0x04 +#define EXT2_SB_BSIZE_OFFSET 0x18 + +static inline u64 ext2_image_size(void *ext2_sb) +{ + __u8 *p = ext2_sb; + if (*(__le16 *)(p + EXT2_SB_MAGIC_OFFSET) != cpu_to_le16(EXT2_SUPER_MAGIC)) + return 0; + return (u64)le32_to_cpup((__le32 *)(p + EXT2_SB_BLOCKS_OFFSET)) << + le32_to_cpup((__le32 *)(p + EXT2_SB_BSIZE_OFFSET)); +} + +#endif /* _LINUX_EXT2_FS_H */ |