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