Fix a couple of problems with FreeLDR portability.
[reactos.git] / reactos / boot / freeldr / freeldr / include / machine.h
index 2642ed5..aa49ad5 100644 (file)
@@ -37,39 +37,84 @@ typedef enum tagVIDEODISPLAYMODE
 typedef struct tagMACHVTBL
 {
   VOID (*ConsPutChar)(int Ch);
-  BOOL (*ConsKbHit)(VOID);
+  BOOLEAN (*ConsKbHit)(VOID);
   int (*ConsGetCh)(VOID);
-  
+
   VOID (*VideoClearScreen)(UCHAR Attr);
-  VIDEODISPLAYMODE (*VideoSetDisplayMode)(char *DisplayMode, BOOL Init);
+  VIDEODISPLAYMODE (*VideoSetDisplayMode)(char *DisplayMode, BOOLEAN Init);
   VOID (*VideoGetDisplaySize)(PULONG Width, PULONG Height, PULONG Depth);
   ULONG (*VideoGetBufferSize)(VOID);
   VOID (*VideoSetTextCursorPosition)(ULONG X, ULONG Y);
-  VOID (*VideoHideShowTextCursor)(BOOL Show);
+  VOID (*VideoHideShowTextCursor)(BOOLEAN Show);
   VOID (*VideoPutChar)(int Ch, UCHAR Attr, unsigned X, unsigned Y);
   VOID (*VideoCopyOffScreenBufferToVRAM)(PVOID Buffer);
-  BOOL (*VideoIsPaletteFixed)(VOID);
+  BOOLEAN (*VideoIsPaletteFixed)(VOID);
   VOID (*VideoSetPaletteColor)(UCHAR Color, UCHAR Red, UCHAR Green, UCHAR Blue);
   VOID (*VideoGetPaletteColor)(UCHAR Color, UCHAR* Red, UCHAR* Green, UCHAR* Blue);
   VOID (*VideoSync)(VOID);
-  VOID (*VideoPrepareForReactOS)(VOID);
+  VOID (*Beep)(VOID);
+  VOID (*PrepareForReactOS)(IN BOOLEAN Setup);
 
   ULONG (*GetMemoryMap)(PBIOS_MEMORY_MAP BiosMemoryMap, ULONG MaxMemoryMapSize);
 
-  BOOL (*DiskReadLogicalSectors)(ULONG DriveNumber, ULONGLONG SectorNumber, ULONG SectorCount, PVOID Buffer);
-  BOOL (*DiskGetPartitionEntry)(ULONG DriveNumber, ULONG PartitionNumber, PPARTITION_TABLE_ENTRY PartitionTableEntry);
-  BOOL (*DiskGetDriveGeometry)(ULONG DriveNumber, PGEOMETRY DriveGeometry);
+  BOOLEAN (*DiskGetBootVolume)(PULONG DriveNumber, PULONGLONG StartSector, PULONGLONG SectorCount, int *FsType);
+  BOOLEAN (*DiskGetSystemVolume)(char *SystemPath, char *RemainingPath, PULONG Device, PULONG DriveNumber, PULONGLONG StartSector, PULONGLONG SectorCount, int *FsType);
+  BOOLEAN (*DiskGetBootPath)(char *BootPath, unsigned Size);
+  VOID (*DiskGetBootDevice)(PULONG BootDevice);
+  BOOLEAN (*DiskBootingFromFloppy)(VOID);
+  BOOLEAN (*DiskNormalizeSystemPath)(char *SystemPath, unsigned Size);
+  BOOLEAN (*DiskReadLogicalSectors)(ULONG DriveNumber, ULONGLONG SectorNumber, ULONG SectorCount, PVOID Buffer);
+  BOOLEAN (*DiskGetPartitionEntry)(ULONG DriveNumber, ULONG PartitionNumber, PPARTITION_TABLE_ENTRY PartitionTableEntry);
+  BOOLEAN (*DiskGetDriveGeometry)(ULONG DriveNumber, PGEOMETRY DriveGeometry);
   ULONG (*DiskGetCacheableBlockCount)(ULONG DriveNumber);
 
   VOID (*RTCGetCurrentDateTime)(PULONG Year, PULONG Month, PULONG Day, PULONG Hour, PULONG Minute, PULONG Second);
 
-  VOID (*HwDetect)(VOID);
+  PCONFIGURATION_COMPONENT_DATA (*HwDetect)(VOID);
 } MACHVTBL, *PMACHVTBL;
 
-VOID MachInit(VOID);
+VOID MachInit(const char *CmdLine);
 
 extern MACHVTBL MachVtbl;
 
+VOID MachConsPutChar(int Ch);
+BOOLEAN MachConsKbHit();
+int MachConsGetCh();
+VOID MachVideoClearScreen(UCHAR Attr);
+VIDEODISPLAYMODE MachVideoSetDisplayMode(char *DisplayMode, BOOLEAN Init);
+VOID MachVideoGetDisplaySize(PULONG Width, PULONG Height, PULONG Depth);
+ULONG MachVideoGetBufferSize(VOID);
+VOID MachVideoSetTextCursorPosition(ULONG X, ULONG Y);
+VOID MachVideoHideShowTextCursor(BOOLEAN Show);
+VOID MachVideoPutChar(int Ch, UCHAR Attr, unsigned X, unsigned Y);
+VOID MachVideoCopyOffScreenBufferToVRAM(PVOID Buffer);
+BOOLEAN MachVideoIsPaletteFixed(VOID);
+VOID MachVideoSetPaletteColor(UCHAR Color, UCHAR Red, UCHAR Green, UCHAR Blue);
+VOID MachVideoGetPaletteColor(UCHAR Color, UCHAR *Red, UCHAR *Green, UCHAR *Blue);
+VOID MachVideoSync(VOID);
+VOID MachBeep(VOID);
+ULONG MachGetMemoryMap(PBIOS_MEMORY_MAP BiosMemoryMap, ULONG MaxMemoryMapSize);
+BOOLEAN MachDiskGetBootVolume(PULONG DriveNumber, PULONGLONG StartSector, PULONGLONG SectorCount, int *FsType);
+BOOLEAN
+MachDiskGetSystemVolume(char *SystemPath,
+                        char *RemainingPath,
+                        PULONG Device,
+                        PULONG DriveNumber,
+                        PULONGLONG StartSector,
+                        PULONGLONG SectorCount,
+                        int *FsType);
+BOOLEAN MachDiskGetBootPath(char *BootPath, unsigned Size);
+VOID MachDiskGetBootDevice(PULONG BootDevice);
+BOOLEAN MachDiskBootingFromFloppy();
+BOOLEAN MachDiskNormalizeSystemPath(char *SystemPath, unsigned Size);
+BOOLEAN MachDiskReadLogicalSectors(ULONG DriveNumber, ULONGLONG SectorNumber, ULONG SectorCount, PVOID Buffer);
+BOOLEAN MachDiskGetPartitionEntry(ULONG DriveNumber, ULONG PartitionNumber, PPARTITION_TABLE_ENTRY PartitionTableEntry);
+BOOLEAN MachDiskGetDriveGeometry(ULONG DriveNumber, PGEOMETRY DriveGeometry);
+ULONG MachDiskGetCacheableBlockCount(ULONG DriveNumber);
+VOID MachRTCGetCurrentDateTime(PULONG Year, PULONG Month, PULONG Day, PULONG Hour, PULONG Minute, PULONG Second);
+VOID MachHwDetect(VOID);
+VOID MachPrepareForReactOS(IN BOOLEAN Setup);
+
 #define MachConsPutChar(Ch)                    MachVtbl.ConsPutChar(Ch)
 #define MachConsKbHit()                                MachVtbl.ConsKbHit()
 #define MachConsGetCh()                                MachVtbl.ConsGetCh()
@@ -85,8 +130,15 @@ extern MACHVTBL MachVtbl;
 #define MachVideoSetPaletteColor(Col, R, G, B) MachVtbl.VideoSetPaletteColor((Col), (R), (G), (B))
 #define MachVideoGetPaletteColor(Col, R, G, B) MachVtbl.VideoGetPaletteColor((Col), (R), (G), (B))
 #define MachVideoSync()                                MachVtbl.VideoSync()
-#define MachVideoPrepareForReactOS()           MachVtbl.VideoPrepareForReactOS()
+#define MachBeep()                   MachVtbl.Beep()
+#define MachPrepareForReactOS(a)               MachVtbl.PrepareForReactOS(a)
 #define MachGetMemoryMap(MMap, Size)           MachVtbl.GetMemoryMap((MMap), (Size))
+#define MachDiskGetBootVolume(Drv, Start, Cnt, FsType) MachVtbl.DiskGetBootVolume((Drv), (Start), (Cnt), (FsType))
+#define MachDiskGetSystemVolume(SysPath, RemPath, Dev, Drv, Start, Cnt, FsType)        MachVtbl.DiskGetSystemVolume((SysPath), (RemPath), (Dev), (Drv), (Start), (Cnt), (FsType))
+#define MachDiskGetBootPath(Path, Size)                MachVtbl.DiskGetBootPath((Path), (Size))
+#define MachDiskGetBootDevice(BootDevice)      MachVtbl.DiskGetBootDevice(BootDevice)
+#define MachDiskBootingFromFloppy()            MachVtbl.DiskBootingFromFloppy()
+#define MachDiskNormalizeSystemPath(Path, Size)        MachVtbl.DiskNormalizeSystemPath((Path), (Size))
 #define MachDiskReadLogicalSectors(Drive, Start, Count, Buf)   MachVtbl.DiskReadLogicalSectors((Drive), (Start), (Count), (Buf))
 #define MachDiskGetPartitionEntry(Drive, Part, Entry)  MachVtbl.DiskGetPartitionEntry((Drive), (Part), (Entry))
 #define MachDiskGetDriveGeometry(Drive, Geom)  MachVtbl.DiskGetDriveGeometry((Drive), (Geom))