xref: /openbmc/linux/include/linux/ext2_fs.h (revision b2441318)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
21da177e4SLinus Torvalds /*
31da177e4SLinus Torvalds  *  linux/include/linux/ext2_fs.h
41da177e4SLinus Torvalds  *
51da177e4SLinus Torvalds  * Copyright (C) 1992, 1993, 1994, 1995
61da177e4SLinus Torvalds  * Remy Card (card@masi.ibp.fr)
71da177e4SLinus Torvalds  * Laboratoire MASI - Institut Blaise Pascal
81da177e4SLinus Torvalds  * Universite Pierre et Marie Curie (Paris VI)
91da177e4SLinus Torvalds  *
101da177e4SLinus Torvalds  *  from
111da177e4SLinus Torvalds  *
121da177e4SLinus Torvalds  *  linux/include/linux/minix_fs.h
131da177e4SLinus Torvalds  *
141da177e4SLinus Torvalds  *  Copyright (C) 1991, 1992  Linus Torvalds
151da177e4SLinus Torvalds  */
161da177e4SLinus Torvalds 
171da177e4SLinus Torvalds #ifndef _LINUX_EXT2_FS_H
181da177e4SLinus Torvalds #define _LINUX_EXT2_FS_H
191da177e4SLinus Torvalds 
201da177e4SLinus Torvalds #include <linux/types.h>
21e18fa700SJeff Garzik #include <linux/magic.h>
221da177e4SLinus Torvalds 
23f7699f2bSAl Viro #define EXT2_NAME_LEN 255
241da177e4SLinus Torvalds 
251da177e4SLinus Torvalds /*
261da177e4SLinus Torvalds  * Maximal count of links to a file
271da177e4SLinus Torvalds  */
281da177e4SLinus Torvalds #define EXT2_LINK_MAX		32000
291da177e4SLinus Torvalds 
3039429c5eSAl Viro #define EXT2_SB_MAGIC_OFFSET	0x38
3139429c5eSAl Viro #define EXT2_SB_BLOCKS_OFFSET	0x04
3239429c5eSAl Viro #define EXT2_SB_BSIZE_OFFSET	0x18
3339429c5eSAl Viro 
ext2_image_size(void * ext2_sb)3439429c5eSAl Viro static inline u64 ext2_image_size(void *ext2_sb)
3539429c5eSAl Viro {
3639429c5eSAl Viro 	__u8 *p = ext2_sb;
3739429c5eSAl Viro 	if (*(__le16 *)(p + EXT2_SB_MAGIC_OFFSET) != cpu_to_le16(EXT2_SUPER_MAGIC))
3839429c5eSAl Viro 		return 0;
3939429c5eSAl Viro 	return (u64)le32_to_cpup((__le32 *)(p + EXT2_SB_BLOCKS_OFFSET)) <<
4039429c5eSAl Viro 		le32_to_cpup((__le32 *)(p + EXT2_SB_BSIZE_OFFSET));
4139429c5eSAl Viro }
4239429c5eSAl Viro 
431da177e4SLinus Torvalds #endif	/* _LINUX_EXT2_FS_H */
44