blob: 2723e715f67a19d2574aa0f151f5b4c525fcb43e [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
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>
Jeff Garzike18fa702006-09-24 11:13:19 -040020#include <linux/magic.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -070021
Al Virof7699f22012-03-23 16:45:51 -040022#define EXT2_NAME_LEN 255
Linus Torvalds1da177e2005-04-16 15:20:36 -070023
24/*
25 * Maximal count of links to a file
26 */
27#define EXT2_LINK_MAX 32000
28
Al Viro39429c52012-03-23 16:36:45 -040029#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
Linus Torvalds1da177e2005-04-16 15:20:36 -070042#endif /* _LINUX_EXT2_FS_H */