[grub4dos] Rename grub4dos__drive_mapping to WV_S_GRUB4DOS_DRIVE_MAPPING
[people/sha0/winvblock.git] / src / include / grub4dos.h
index 5f15d4d..2a8a3f1 100644 (file)
@@ -1,5 +1,5 @@
 /**
- * Copyright (C) 2009, Shao Miller <shao.miller@yrdsb.edu.on.ca>.
+ * Copyright (C) 2009-2011, Shao Miller <shao.miller@yrdsb.edu.on.ca>.
  *
  * This file is part of WinVBlock, derived from WinAoE.
  *
  * You should have received a copy of the GNU General Public License
  * along with WinVBlock.  If not, see <http://www.gnu.org/licenses/>.
  */
-#ifndef _grub4dos_h
-#  define _grub4dos_h
+#ifndef WV_M_GRUB4DOS_H_
+#  define WV_M_GRUB4DOS_H_
 
 /**
  * @file
  *
- * GRUB4DOS RAM disk specifics
- *
+ * GRUB4DOS disk specifics.
  */
 
-extern void grub4dos__find (
+/* From GRUB4DOS 0.4.4's stage2/shared.h */
+typedef struct WV_GRUB4DOS_DRIVE_MAPPING {
+    winvblock__uint8 SourceDrive;
+    winvblock__uint8 DestDrive;
+    winvblock__uint8 MaxHead;
+    winvblock__uint8 MaxSector:6;
+    winvblock__uint8 RestrictionX:1;
+    winvblock__uint16 DestMaxCylinder:13;
+    winvblock__uint16 SourceODD:1;
+    winvblock__uint16 DestODD:1;
+    winvblock__uint16 DestLBASupport:1;
+    winvblock__uint8 DestMaxHead;
+    winvblock__uint8 DestMaxSector:6;
+    winvblock__uint8 RestrictionY:1;
+    winvblock__uint8 InSituOption:1;
+    winvblock__uint64 SectorStart;
+    winvblock__uint64 SectorCount;
+  } WV_S_GRUB4DOS_DRIVE_MAPPING, * WV_SP_GRUB4DOS_DRIVE_MAPPING;
+
+extern void ramdisk_grub4dos__find (
+  void
+ );
+extern void filedisk_grub4dos__find (
   void
  );
 
-#endif                         /* _grub4dos_h */
+#endif  /* WV_M_GRUB4DOS_H_ */