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