1
2
3
4
5
6
7
8
9
10 #ifndef __EFS_VH_H__
11 #define __EFS_VH_H__
12
13 #define VHMAGIC 0xbe5a941
14 #define NPARTAB 16
15 #define NVDIR 15
16 #define BFNAMESIZE 16
17 #define VDNAMESIZE 8
18
19 struct volume_directory {
20 char vd_name[VDNAMESIZE];
21 __be32 vd_lbn;
22 __be32 vd_nbytes;
23 };
24
25 struct partition_table {
26 __be32 pt_nblks;
27 __be32 pt_firstlbn;
28 __be32 pt_type;
29 };
30
31 struct volume_header {
32 __be32 vh_magic;
33 __be16 vh_rootpt;
34 __be16 vh_swappt;
35 char vh_bootfile[BFNAMESIZE];
36 char pad[48];
37 struct volume_directory vh_vd[NVDIR];
38 struct partition_table vh_pt[NPARTAB];
39 __be32 vh_csum;
40 __be32 vh_fill;
41 };
42
43
44 #define SGI_SYSV 0x05
45 #define SGI_EFS 0x07
46 #define IS_EFS(x) (((x) == SGI_EFS) || ((x) == SGI_SYSV))
47
48 struct pt_types {
49 int pt_type;
50 char *pt_name;
51 };
52
53 #endif
54