|
|
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.