Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 /*
0003  *  linux/include/linux/ext2_fs.h
0004  *
0005  * Copyright (C) 1992, 1993, 1994, 1995
0006  * Remy Card (card@masi.ibp.fr)
0007  * Laboratoire MASI - Institut Blaise Pascal
0008  * Universite Pierre et Marie Curie (Paris VI)
0009  *
0010  *  from
0011  *
0012  *  linux/include/linux/minix_fs.h
0013  *
0014  *  Copyright (C) 1991, 1992  Linus Torvalds
0015  */
0016 
0017 #ifndef _LINUX_EXT2_FS_H
0018 #define _LINUX_EXT2_FS_H
0019 
0020 #include <linux/types.h>
0021 #include <linux/magic.h>
0022 
0023 #define EXT2_NAME_LEN 255
0024 
0025 /*
0026  * Maximal count of links to a file
0027  */
0028 #define EXT2_LINK_MAX       32000
0029 
0030 #define EXT2_SB_MAGIC_OFFSET    0x38
0031 #define EXT2_SB_BLOCKS_OFFSET   0x04
0032 #define EXT2_SB_BSIZE_OFFSET    0x18
0033 
0034 static inline u64 ext2_image_size(void *ext2_sb)
0035 {
0036     __u8 *p = ext2_sb;
0037     if (*(__le16 *)(p + EXT2_SB_MAGIC_OFFSET) != cpu_to_le16(EXT2_SUPER_MAGIC))
0038         return 0;
0039     return (u64)le32_to_cpup((__le32 *)(p + EXT2_SB_BLOCKS_OFFSET)) <<
0040         le32_to_cpup((__le32 *)(p + EXT2_SB_BSIZE_OFFSET));
0041 }
0042 
0043 #endif  /* _LINUX_EXT2_FS_H */