|
|
1.1 root 1: /*
2: * GRUB -- GRand Unified Bootloader
3: * Copyright (C) 2001 Free Software Foundation, Inc.
4: *
5: * This program is free software; you can redistribute it and/or modify
6: * it under the terms of the GNU General Public License as published by
7: * the Free Software Foundation; either version 2 of the License, or
8: * (at your option) any later version.
9: *
10: * This program is distributed in the hope that it will be useful,
11: * but WITHOUT ANY WARRANTY; without even the implied warranty of
12: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13: * GNU General Public License for more details.
14: *
15: * You should have received a copy of the GNU General Public License
16: * along with this program; if not, write to the Free Software
17: * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
18: * MA 02110-1301, USA.
19: */
20:
21:
22: #ifndef VSTAFS_H
23: #define VSTAFS_H 1
24:
25:
26: #define LINE 16
27: #define BLOCK_SIZE 512
28: #define VSTAFS_START_DATA 320
29:
30: struct bootrecord
31: {
32: unsigned char flag;
33: unsigned char s_sector;
34: unsigned char s_head;
35: unsigned char s_cylinder;
36: unsigned char p_type;
37: unsigned char e_sector;
38: unsigned char e_head;
39: unsigned char e_cylinder;
40: unsigned long start_lba;
41: unsigned long nr_sector_lba;
42: };
43:
44: struct alloc
45: {
46: unsigned long a_start;
47: unsigned long a_len;
48: };
49:
50: struct first_sector
51: {
52: unsigned long fs_magic;
53: unsigned long fs_size;
54: unsigned long fs_extsize;
55: unsigned long fs_free;
56: struct alloc fs_freesecs[0];
57: };
58:
59: struct prot
60: {
61: unsigned char len;
62: unsigned char pdefault;
63: unsigned char id[7];
64: unsigned char bits[7];
65: };
66:
67: struct fs_file
68: {
69: unsigned long prev;
70: unsigned long rev;
71: unsigned long len;
72: unsigned short type;
73: unsigned short nlink;
74: struct prot pprot;
75: unsigned int owner;
76: unsigned int extents;
77: struct alloc blocks[32];
78: long fs_ctime, fs_mtime; /* it is not lon but time_t */
79: char pad[16];
80: char data[0];
81: };
82:
83: struct dir_entry
84: {
85: char name[28];
86: unsigned long start;
87: };
88:
89: #endif /* ! VSTAFS_H */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.