Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 /*
0003  * efs_vh.h
0004  *
0005  * Copyright (c) 1999 Al Smith
0006  *
0007  * Portions derived from IRIX header files (c) 1985 MIPS Computer Systems, Inc.
0008  */
0009 
0010 #ifndef __EFS_VH_H__
0011 #define __EFS_VH_H__
0012 
0013 #define VHMAGIC     0xbe5a941   /* volume header magic number */
0014 #define NPARTAB     16      /* 16 unix partitions */
0015 #define NVDIR       15      /* max of 15 directory entries */
0016 #define BFNAMESIZE  16      /* max 16 chars in boot file name */
0017 #define VDNAMESIZE  8
0018 
0019 struct volume_directory {
0020     char    vd_name[VDNAMESIZE];    /* name */
0021     __be32  vd_lbn;         /* logical block number */
0022     __be32  vd_nbytes;      /* file length in bytes */
0023 };
0024 
0025 struct partition_table {    /* one per logical partition */
0026     __be32  pt_nblks;   /* # of logical blks in partition */
0027     __be32  pt_firstlbn;    /* first lbn of partition */
0028     __be32  pt_type;    /* use of partition */
0029 };
0030 
0031 struct volume_header {
0032     __be32  vh_magic;           /* identifies volume header */
0033     __be16  vh_rootpt;          /* root partition number */
0034     __be16  vh_swappt;          /* swap partition number */
0035     char    vh_bootfile[BFNAMESIZE];    /* name of file to boot */
0036     char    pad[48];            /* device param space */
0037     struct volume_directory vh_vd[NVDIR];   /* other vol hdr contents */
0038     struct partition_table  vh_pt[NPARTAB]; /* device partition layout */
0039     __be32  vh_csum;            /* volume header checksum */
0040     __be32  vh_fill;            /* fill out to 512 bytes */
0041 };
0042 
0043 /* partition type sysv is used for EFS format CD-ROM partitions */
0044 #define SGI_SYSV    0x05
0045 #define SGI_EFS     0x07
0046 #define IS_EFS(x)   (((x) == SGI_EFS) || ((x) == SGI_SYSV))
0047 
0048 struct pt_types {
0049     int pt_type;
0050     char    *pt_name;
0051 };
0052 
0053 #endif /* __EFS_VH_H__ */
0054