blob: 1fef885690370e5c039871ac8dd99d649d72aa64 [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001/* SPDX-License-Identifier: GPL-2.0 */
Linus Torvalds1da177e2005-04-16 15:20:36 -07002/*
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>
Jeff Garzike18fa702006-09-24 11:13:19 -040021#include <linux/magic.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -070022
Al Virof7699f22012-03-23 16:45:51 -040023#define EXT2_NAME_LEN 255
Linus Torvalds1da177e2005-04-16 15:20:36 -070024
25/*
26 * Maximal count of links to a file
27 */
28#define EXT2_LINK_MAX 32000
29
Al Viro39429c52012-03-23 16:36:45 -040030#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
Linus Torvalds1da177e2005-04-16 15:20:36 -070043#endif /* _LINUX_EXT2_FS_H */