15b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project/* 25b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project * GRUB -- GRand Unified Bootloader 35b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project * Copyright (C) 2001 Free Software Foundation, Inc. 45b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project * 55b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project * This program is free software; you can redistribute it and/or modify 65b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project * it under the terms of the GNU General Public License as published by 75b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project * the Free Software Foundation; either version 2 of the License, or 85b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project * (at your option) any later version. 95b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project * 105b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project * This program is distributed in the hope that it will be useful, 115b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project * but WITHOUT ANY WARRANTY; without even the implied warranty of 125b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 135b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project * GNU General Public License for more details. 145b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project * 155b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project * You should have received a copy of the GNU General Public License 165b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project * along with this program; if not, write to the Free Software 175b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 185b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project */ 195b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project 205b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project 215b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project#ifndef VSTAFS_H 225b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project#define VSTAFS_H 1 235b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project 245b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project 255b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project#define LINE 16 265b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project#define BLOCK_SIZE 512 275b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project#define VSTAFS_START_DATA 320 285b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project 295b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Projectstruct bootrecord 305b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project{ 315b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project unsigned char flag; 325b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project unsigned char s_sector; 335b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project unsigned char s_head; 345b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project unsigned char s_cylinder; 355b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project unsigned char p_type; 365b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project unsigned char e_sector; 375b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project unsigned char e_head; 385b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project unsigned char e_cylinder; 395b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project unsigned long start_lba; 405b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project unsigned long nr_sector_lba; 415b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project}; 425b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project 435b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Projectstruct alloc 445b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project{ 455b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project unsigned long a_start; 465b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project unsigned long a_len; 475b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project}; 485b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project 495b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Projectstruct first_sector 505b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project{ 515b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project unsigned long fs_magic; 525b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project unsigned long fs_size; 535b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project unsigned long fs_extsize; 545b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project unsigned long fs_free; 555b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project struct alloc fs_freesecs[0]; 565b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project}; 575b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project 585b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Projectstruct prot 595b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project{ 605b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project unsigned char len; 615b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project unsigned char pdefault; 625b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project unsigned char id[7]; 635b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project unsigned char bits[7]; 645b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project}; 655b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project 665b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Projectstruct fs_file 675b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project{ 685b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project unsigned long prev; 695b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project unsigned long rev; 705b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project unsigned long len; 715b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project unsigned short type; 725b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project unsigned short nlink; 735b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project struct prot pprot; 745b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project unsigned int owner; 755b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project unsigned int extents; 765b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project struct alloc blocks[32]; 775b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project long fs_ctime, fs_mtime; /* it is not lon but time_t */ 785b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project char pad[16]; 795b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project char data[0]; 805b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project}; 815b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project 825b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Projectstruct dir_entry 835b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project{ 845b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project char name[28]; 855b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project unsigned long start; 865b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project}; 875b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project 885b1eb061628a97aae48a9c0bcaa96eb0bfa07aa4The Android Open Source Project#endif /* ! VSTAFS_H */ 89