|  | /* | 
|  | *  GRUB  --  GRand Unified Bootloader | 
|  | *  Copyright (C) 2001   Free Software Foundation, Inc. | 
|  | * | 
|  | *  This program is free software; you can redistribute it and/or modify | 
|  | *  it under the terms of the GNU General Public License as published by | 
|  | *  the Free Software Foundation; either version 2 of the License, or | 
|  | *  (at your option) any later version. | 
|  | * | 
|  | *  This program is distributed in the hope that it will be useful, | 
|  | *  but WITHOUT ANY WARRANTY; without even the implied warranty of | 
|  | *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
|  | *  GNU General Public License for more details. | 
|  | * | 
|  | *  You should have received a copy of the GNU General Public License | 
|  | *  along with this program; if not, write to the Free Software | 
|  | *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | 
|  | */ | 
|  |  | 
|  |  | 
|  | #ifndef VSTAFS_H | 
|  | #define VSTAFS_H	1 | 
|  |  | 
|  |  | 
|  | #define LINE			16 | 
|  | #define BLOCK_SIZE		512 | 
|  | #define VSTAFS_START_DATA	320 | 
|  |  | 
|  | struct bootrecord | 
|  | { | 
|  | unsigned char flag; | 
|  | unsigned char s_sector; | 
|  | unsigned char s_head; | 
|  | unsigned char s_cylinder; | 
|  | unsigned char p_type; | 
|  | unsigned char e_sector; | 
|  | unsigned char e_head; | 
|  | unsigned char e_cylinder; | 
|  | unsigned long start_lba; | 
|  | unsigned long nr_sector_lba; | 
|  | }; | 
|  |  | 
|  | struct alloc | 
|  | { | 
|  | unsigned long a_start; | 
|  | unsigned long a_len; | 
|  | }; | 
|  |  | 
|  | struct first_sector | 
|  | { | 
|  | unsigned long fs_magic; | 
|  | unsigned long fs_size; | 
|  | unsigned long fs_extsize; | 
|  | unsigned long fs_free; | 
|  | struct  alloc fs_freesecs[0]; | 
|  | }; | 
|  |  | 
|  | struct prot | 
|  | { | 
|  | unsigned char len; | 
|  | unsigned char pdefault; | 
|  | unsigned char id[7]; | 
|  | unsigned char bits[7]; | 
|  | }; | 
|  |  | 
|  | struct fs_file | 
|  | { | 
|  | unsigned long prev; | 
|  | unsigned long rev; | 
|  | unsigned long len; | 
|  | unsigned short type; | 
|  | unsigned short nlink; | 
|  | struct prot pprot; | 
|  | unsigned int owner; | 
|  | unsigned int extents; | 
|  | struct alloc blocks[32]; | 
|  | long fs_ctime, fs_mtime; /* it is not lon but time_t */ | 
|  | char pad[16]; | 
|  | char data[0]; | 
|  | }; | 
|  |  | 
|  | struct dir_entry | 
|  | { | 
|  | char name[28]; | 
|  | unsigned long start; | 
|  | }; | 
|  |  | 
|  | #endif /* ! VSTAFS_H */ |