linux-headers (unknown)

(root)/
include/
linux/
efs_fs_sb.h
       1  /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
       2  /*
       3   * efs_fs_sb.h
       4   *
       5   * Copyright (c) 1999 Al Smith
       6   *
       7   * Portions derived from IRIX header files (c) 1988 Silicon Graphics
       8   */
       9  
      10  #ifndef __EFS_FS_SB_H__
      11  #define __EFS_FS_SB_H__
      12  
      13  #include <linux/types.h>
      14  #include <linux/magic.h>
      15  
      16  /* EFS superblock magic numbers */
      17  #define EFS_MAGIC	0x072959
      18  #define EFS_NEWMAGIC	0x07295a
      19  
      20  #define IS_EFS_MAGIC(x)	((x == EFS_MAGIC) || (x == EFS_NEWMAGIC))
      21  
      22  #define EFS_SUPER		1
      23  #define EFS_ROOTINODE		2
      24  
      25  /* efs superblock on disk */
      26  struct efs_super {
      27  	__be32		fs_size;        /* size of filesystem, in sectors */
      28  	__be32		fs_firstcg;     /* bb offset to first cg */
      29  	__be32		fs_cgfsize;     /* size of cylinder group in bb's */
      30  	__be16		fs_cgisize;     /* bb's of inodes per cylinder group */
      31  	__be16		fs_sectors;     /* sectors per track */
      32  	__be16		fs_heads;       /* heads per cylinder */
      33  	__be16		fs_ncg;         /* # of cylinder groups in filesystem */
      34  	__be16		fs_dirty;       /* fs needs to be fsck'd */
      35  	__be32		fs_time;        /* last super-block update */
      36  	__be32		fs_magic;       /* magic number */
      37  	char		fs_fname[6];    /* file system name */
      38  	char		fs_fpack[6];    /* file system pack name */
      39  	__be32		fs_bmsize;      /* size of bitmap in bytes */
      40  	__be32		fs_tfree;       /* total free data blocks */
      41  	__be32		fs_tinode;      /* total free inodes */
      42  	__be32		fs_bmblock;     /* bitmap location. */
      43  	__be32		fs_replsb;      /* Location of replicated superblock. */
      44  	__be32		fs_lastialloc;  /* last allocated inode */
      45  	char		fs_spare[20];   /* space for expansion - MUST BE ZERO */
      46  	__be32		fs_checksum;    /* checksum of volume portion of fs */
      47  };
      48  
      49  /* efs superblock information in memory */
      50  struct efs_sb_info {
      51  	__u32	fs_magic;	/* superblock magic number */
      52  	__u32	fs_start;	/* first block of filesystem */
      53  	__u32	first_block;	/* first data block in filesystem */
      54  	__u32	total_blocks;	/* total number of blocks in filesystem */
      55  	__u32	group_size;	/* # of blocks a group consists of */ 
      56  	__u32	data_free;	/* # of free data blocks */
      57  	__u32	inode_free;	/* # of free inodes */
      58  	__u16	inode_blocks;	/* # of blocks used for inodes in every grp */
      59  	__u16	total_groups;	/* # of groups */
      60  };
      61  
      62  #endif /* __EFS_FS_SB_H__ */
      63