• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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)33 static 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