Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
include
linux
efs_vh.h
Go to the documentation of this file.
1
/*
2
* efs_vh.h
3
*
4
* Copyright (c) 1999 Al Smith
5
*
6
* Portions derived from IRIX header files (c) 1985 MIPS Computer Systems, Inc.
7
*/
8
9
#ifndef __EFS_VH_H__
10
#define __EFS_VH_H__
11
12
#define VHMAGIC 0xbe5a941
/* volume header magic number */
13
#define NPARTAB 16
/* 16 unix partitions */
14
#define NVDIR 15
/* max of 15 directory entries */
15
#define BFNAMESIZE 16
/* max 16 chars in boot file name */
16
#define VDNAMESIZE 8
17
18
struct
volume_directory
{
19
char
vd_name
[
VDNAMESIZE
];
/* name */
20
__be32
vd_lbn
;
/* logical block number */
21
__be32
vd_nbytes
;
/* file length in bytes */
22
};
23
24
struct
partition_table
{
/* one per logical partition */
25
__be32
pt_nblks
;
/* # of logical blks in partition */
26
__be32
pt_firstlbn
;
/* first lbn of partition */
27
__be32
pt_type
;
/* use of partition */
28
};
29
30
struct
volume_header
{
31
__be32
vh_magic
;
/* identifies volume header */
32
__be16
vh_rootpt
;
/* root partition number */
33
__be16
vh_swappt
;
/* swap partition number */
34
char
vh_bootfile
[
BFNAMESIZE
];
/* name of file to boot */
35
char
pad
[48];
/* device param space */
36
struct
volume_directory
vh_vd
[
NVDIR
];
/* other vol hdr contents */
37
struct
partition_table
vh_pt
[
NPARTAB
];
/* device partition layout */
38
__be32
vh_csum
;
/* volume header checksum */
39
__be32
vh_fill
;
/* fill out to 512 bytes */
40
};
41
42
/* partition type sysv is used for EFS format CD-ROM partitions */
43
#define SGI_SYSV 0x05
44
#define SGI_EFS 0x07
45
#define IS_EFS(x) (((x) == SGI_EFS) || ((x) == SGI_SYSV))
46
47
struct
pt_types
{
48
int
pt_type
;
49
char
*
pt_name
;
50
};
51
52
#endif
/* __EFS_VH_H__ */
53
Generated on Thu Jan 10 2013 14:51:21 for Linux Kernel by
1.8.2