usr/src/grub/grub-0.97/stage2/vstafs.h
changeset 8044 b3af80bbf173
parent 0 68f95e015346
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/grub/grub-0.97/stage2/vstafs.h	Fri Nov 07 21:36:41 2008 -0700
@@ -0,0 +1,88 @@
+/*
+ *  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 */