diff --git a/reactos/boot/freeldr/freeldr/arch/i386/hardware.c b/reactos/boot/freeldr/freeldr/arch/i386/hardware.c index c120cdc1408..32b363b1d1c 100644 --- a/reactos/boot/freeldr/freeldr/arch/i386/hardware.c +++ b/reactos/boot/freeldr/freeldr/arch/i386/hardware.c @@ -30,6 +30,7 @@ #include "../../reactos/registry.h" #include "hardware.h" +#include "machpc.h" #define MILLISEC (10) diff --git a/reactos/boot/freeldr/freeldr/arch/i386/i386vid.c b/reactos/boot/freeldr/freeldr/arch/i386/i386vid.c index cdc0f4dda41..0ca3c6dc64d 100644 --- a/reactos/boot/freeldr/freeldr/arch/i386/i386vid.c +++ b/reactos/boot/freeldr/freeldr/arch/i386/i386vid.c @@ -89,8 +89,8 @@ typedef struct // second list. In some cases, only a "stub" VBE may be present, supporting // only AX=4F00h; this case may be assumed if the list of supported video modes // is empty (consisting of a single word of FFFFh) - -VOID BiosSetVideoFont8x16(VOID) +#if 0 +static VOID BiosSetVideoFont8x16(VOID) { REGS Regs; @@ -106,11 +106,11 @@ VOID BiosSetVideoFont8x16(VOID) Int386(0x10, &Regs, &Regs); } -VOID VideoSetTextCursorPosition(ULONG X, ULONG Y) +static VOID VideoSetTextCursorPosition(ULONG X, ULONG Y) { } -ULONG VideoGetTextCursorPositionX(VOID) +static ULONG VideoGetTextCursorPositionX(VOID) { REGS Regs; @@ -135,7 +135,7 @@ ULONG VideoGetTextCursorPositionX(VOID) return Regs.b.dl; } -ULONG VideoGetTextCursorPositionY(VOID) +static ULONG VideoGetTextCursorPositionY(VOID) { REGS Regs; @@ -159,6 +159,7 @@ ULONG VideoGetTextCursorPositionY(VOID) return Regs.b.dh; } +#endif USHORT BiosIsVesaSupported(VOID) { diff --git a/reactos/boot/freeldr/freeldr/arch/i386/pcvideo.c b/reactos/boot/freeldr/freeldr/arch/i386/pcvideo.c index 5eed5a5493e..0a6c90fc546 100644 --- a/reactos/boot/freeldr/freeldr/arch/i386/pcvideo.c +++ b/reactos/boot/freeldr/freeldr/arch/i386/pcvideo.c @@ -249,7 +249,8 @@ PcVideoSetFont8x14(VOID) Int386(0x10, &Regs, &Regs); } -VOID PcVideoSelectAlternatePrintScreen(VOID) +static VOID +PcVideoSelectAlternatePrintScreen(VOID) { REGS Regs; @@ -272,7 +273,8 @@ VOID PcVideoSelectAlternatePrintScreen(VOID) Int386(0x10, &Regs, &Regs); } -VOID PcVideoDisableCursorEmulation(VOID) +static VOID +PcVideoDisableCursorEmulation(VOID) { REGS Regs; diff --git a/reactos/boot/freeldr/freeldr/cache/cache.c b/reactos/boot/freeldr/freeldr/cache/cache.c index d7a46afbde2..f17f19fc70d 100644 --- a/reactos/boot/freeldr/freeldr/cache/cache.c +++ b/reactos/boot/freeldr/freeldr/cache/cache.c @@ -23,6 +23,7 @@ #include #include #include +#include #include #include diff --git a/reactos/boot/freeldr/freeldr/fs/fat.c b/reactos/boot/freeldr/freeldr/fs/fat.c index 69d37addfe4..278f664716b 100644 --- a/reactos/boot/freeldr/freeldr/fs/fat.c +++ b/reactos/boot/freeldr/freeldr/fs/fat.c @@ -616,7 +616,7 @@ BOOL FatSearchDirectoryBufferForFile(PVOID DirectoryBuffer, ULONG DirectorySize, return FALSE; } -BOOL FatXSearchDirectoryBufferForFile(PVOID DirectoryBuffer, ULONG DirectorySize, PCHAR FileName, PFAT_FILE_INFO FatFileInfoPointer) +static BOOL FatXSearchDirectoryBufferForFile(PVOID DirectoryBuffer, ULONG DirectorySize, PCHAR FileName, PFAT_FILE_INFO FatFileInfoPointer) { ULONG EntryCount; ULONG CurrentEntry; diff --git a/reactos/boot/freeldr/freeldr/fs/ntfs.c b/reactos/boot/freeldr/freeldr/fs/ntfs.c index cdfc100609e..4861d6c86ef 100644 --- a/reactos/boot/freeldr/freeldr/fs/ntfs.c +++ b/reactos/boot/freeldr/freeldr/fs/ntfs.c @@ -45,7 +45,7 @@ ULONG NtfsSectorOfClusterZero; PNTFS_MFT_RECORD NtfsMasterFileTable; NTFS_ATTR_CONTEXT NtfsMFTContext; -PUCHAR NtfsDecodeRun(PUCHAR DataRun, LONGLONG *DataRunOffset, ULONGLONG *DataRunLength) +static PUCHAR NtfsDecodeRun(PUCHAR DataRun, LONGLONG *DataRunOffset, ULONGLONG *DataRunLength) { UCHAR DataRunOffsetSize; UCHAR DataRunLengthSize; @@ -87,7 +87,7 @@ PUCHAR NtfsDecodeRun(PUCHAR DataRun, LONGLONG *DataRunOffset, ULONGLONG *DataRun } /* FIXME: Add support for attribute lists! */ -BOOL NtfsFindAttribute(PNTFS_ATTR_CONTEXT Context, PNTFS_MFT_RECORD MftRecord, ULONG Type, PWCHAR Name) +static BOOL NtfsFindAttribute(PNTFS_ATTR_CONTEXT Context, PNTFS_MFT_RECORD MftRecord, ULONG Type, PWCHAR Name) { PNTFS_ATTR_RECORD AttrRecord; PNTFS_ATTR_RECORD AttrRecordEnd; @@ -148,7 +148,7 @@ BOOL NtfsFindAttribute(PNTFS_ATTR_CONTEXT Context, PNTFS_MFT_RECORD MftRecord, U } /* FIXME: Optimize for multisector reads. */ -BOOL NtfsDiskRead(ULONGLONG Offset, ULONGLONG Length, PCHAR Buffer) +static BOOL NtfsDiskRead(ULONGLONG Offset, ULONGLONG Length, PCHAR Buffer) { USHORT ReadLength; @@ -190,7 +190,7 @@ BOOL NtfsDiskRead(ULONGLONG Offset, ULONGLONG Length, PCHAR Buffer) return TRUE; } -ULONGLONG NtfsReadAttribute(PNTFS_ATTR_CONTEXT Context, ULONGLONG Offset, PCHAR Buffer, ULONGLONG Length) +static ULONGLONG NtfsReadAttribute(PNTFS_ATTR_CONTEXT Context, ULONGLONG Offset, PCHAR Buffer, ULONGLONG Length) { ULONGLONG LastLCN; PUCHAR DataRun; @@ -314,7 +314,7 @@ ULONGLONG NtfsReadAttribute(PNTFS_ATTR_CONTEXT Context, ULONGLONG Offset, PCHAR return AlreadyRead; } -BOOL NtfsFixupRecord(PNTFS_RECORD Record) +static BOOL NtfsFixupRecord(PNTFS_RECORD Record) { USHORT *USA; USHORT USANumber; @@ -338,7 +338,7 @@ BOOL NtfsFixupRecord(PNTFS_RECORD Record) return TRUE; } -BOOL NtfsReadMftRecord(ULONG MFTIndex, PNTFS_MFT_RECORD Buffer) +static BOOL NtfsReadMftRecord(ULONG MFTIndex, PNTFS_MFT_RECORD Buffer) { ULONGLONG BytesRead; @@ -369,7 +369,7 @@ VOID NtfsPrintFile(PNTFS_INDEX_ENTRY IndexEntry) } #endif -BOOL NtfsCompareFileName(PCHAR FileName, PNTFS_INDEX_ENTRY IndexEntry) +static BOOL NtfsCompareFileName(PCHAR FileName, PNTFS_INDEX_ENTRY IndexEntry) { PWCHAR EntryFileName; UCHAR EntryFileNameLength; @@ -402,7 +402,7 @@ BOOL NtfsCompareFileName(PCHAR FileName, PNTFS_INDEX_ENTRY IndexEntry) return TRUE; } -BOOL NtfsFindMftRecord(ULONG MFTIndex, PCHAR FileName, ULONG *OutMFTIndex) +static BOOL NtfsFindMftRecord(ULONG MFTIndex, PCHAR FileName, ULONG *OutMFTIndex) { PNTFS_MFT_RECORD MftRecord; ULONG Magic; @@ -563,7 +563,7 @@ BOOL NtfsFindMftRecord(ULONG MFTIndex, PCHAR FileName, ULONG *OutMFTIndex) return FALSE; } -BOOL NtfsLookupFile(PCHAR FileName, PNTFS_MFT_RECORD MftRecord, PNTFS_ATTR_CONTEXT DataContext) +static BOOL NtfsLookupFile(PCHAR FileName, PNTFS_MFT_RECORD MftRecord, PNTFS_ATTR_CONTEXT DataContext) { ULONG NumberOfPathParts; CHAR PathPart[261]; diff --git a/reactos/boot/freeldr/freeldr/include/machine.h b/reactos/boot/freeldr/freeldr/include/machine.h index 08340f5101f..60c08dc3c2e 100644 --- a/reactos/boot/freeldr/freeldr/include/machine.h +++ b/reactos/boot/freeldr/freeldr/include/machine.h @@ -76,6 +76,43 @@ VOID MachInit(char *CmdLine); extern MACHVTBL MachVtbl; +VOID MachConsPutChar(int Ch); +BOOL MachConsKbHit(); +int MachConsGetCh(); +VOID MachVideoClearScreen(UCHAR Attr); +VIDEODISPLAYMODE MachVideoSetDisplayMode(char *DisplayMode, BOOL Init); +VOID MachVideoGetDisplaySize(PULONG Width, PULONG Height, PULONG Depth); +ULONG MachVideoGetBufferSize(VOID); +VOID MachVideoSetTextCursorPosition(ULONG X, ULONG Y); +VOID MachVideoHideShowTextCursor(BOOL Show); +VOID MachVideoPutChar(int Ch, UCHAR Attr, unsigned X, unsigned Y); +VOID MachVideoCopyOffScreenBufferToVRAM(PVOID Buffer); +BOOL 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 MachVideoPrepareForReactOS(VOID); +ULONG MachGetMemoryMap(PBIOS_MEMORY_MAP BiosMemoryMap, ULONG MaxMemoryMapSize); +BOOL MachDiskGetBootVolume(PULONG DriveNumber, PULONGLONG StartSector, PULONGLONG SectorCount, int *FsType); +BOOL +MachDiskGetSystemVolume(char *SystemPath, + char *RemainingPath, + PULONG Device, + PULONG DriveNumber, + PULONGLONG StartSector, + PULONGLONG SectorCount, + int *FsType); +BOOL MachDiskGetBootPath(char *BootPath, unsigned Size); +VOID MachDiskGetBootDevice(PULONG BootDevice); +BOOL MachDiskBootingFromFloppy(); +BOOL MachDiskNormalizeSystemPath(char *SystemPath, unsigned Size); +BOOL MachDiskReadLogicalSectors(ULONG DriveNumber, ULONGLONG SectorNumber, ULONG SectorCount, PVOID Buffer); +BOOL MachDiskGetPartitionEntry(ULONG DriveNumber, ULONG PartitionNumber, PPARTITION_TABLE_ENTRY PartitionTableEntry); +BOOL 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); + #define MachConsPutChar(Ch) MachVtbl.ConsPutChar(Ch) #define MachConsKbHit() MachVtbl.ConsKbHit() #define MachConsGetCh() MachVtbl.ConsGetCh() diff --git a/reactos/boot/freeldr/freeldr/include/rtl.h b/reactos/boot/freeldr/freeldr/include/rtl.h index 2b35a74ba8d..d34db55b40f 100644 --- a/reactos/boot/freeldr/freeldr/include/rtl.h +++ b/reactos/boot/freeldr/freeldr/include/rtl.h @@ -48,8 +48,8 @@ int isspace(int c); int isdigit(int c); int isxdigit(int c); -char * convert_to_ascii(char *buf, int c, ...); -char * convert_i64_to_ascii(char *buf, int c, ...); +char * convert_to_ascii(char *buf, int c, int num); +char * convert_i64_to_ascii(char *buf, int c, unsigned long long num); void beep(void); void delay(unsigned msec); diff --git a/reactos/boot/freeldr/freeldr/include/ui.h b/reactos/boot/freeldr/freeldr/include/ui.h index fcae9571faa..64b4d6aa93b 100644 --- a/reactos/boot/freeldr/freeldr/include/ui.h +++ b/reactos/boot/freeldr/freeldr/include/ui.h @@ -55,6 +55,7 @@ extern CHAR UiMonthNames[12][15]; // /////////////////////////////////////////////////////////////////////////////////////// BOOL UiInitialize(BOOLEAN ShowGui); // Initialize User-Interface +BOOL SetupUiInitialize(VOID); // Initialize User-Interface VOID UiUnInitialize(PCHAR BootText); // Un-initialize User-Interface VOID UiDrawBackdrop(VOID); // Fills the entire screen with a backdrop VOID UiFillArea(ULONG Left, ULONG Top, ULONG Right, ULONG Bottom, CHAR FillChar, UCHAR Attr /* Color Attributes */); // Fills the area specified with FillChar and Attr diff --git a/reactos/boot/freeldr/freeldr/reactos/binhive.c b/reactos/boot/freeldr/freeldr/reactos/binhive.c index 87eafd2e141..2fa61c9a156 100644 --- a/reactos/boot/freeldr/freeldr/reactos/binhive.c +++ b/reactos/boot/freeldr/freeldr/reactos/binhive.c @@ -1256,7 +1256,7 @@ CmiCalcHiveChecksum (PREGISTRY_HIVE Hive) } -BOOL +static BOOL CmiExportHive (PREGISTRY_HIVE Hive, PCHAR KeyName) { diff --git a/reactos/boot/freeldr/freeldr/reactos/loader.c b/reactos/boot/freeldr/freeldr/reactos/loader.c index 76be0c36d20..79b7ecb7b91 100644 --- a/reactos/boot/freeldr/freeldr/reactos/loader.c +++ b/reactos/boot/freeldr/freeldr/reactos/loader.c @@ -231,7 +231,7 @@ FrLdrSetupPae(ULONG Magic) * will be used by the Kernel. * *--*/ -VOID +static VOID FASTCALL FrLdrGetKernelBase(VOID) { diff --git a/reactos/boot/freeldr/freeldr/reactos/reactos.c b/reactos/boot/freeldr/freeldr/reactos/reactos.c index c617fc6e69a..d6f6813ddcc 100644 --- a/reactos/boot/freeldr/freeldr/reactos/reactos.c +++ b/reactos/boot/freeldr/freeldr/reactos/reactos.c @@ -34,7 +34,7 @@ char reactos_module_strings[64][256]; // Array to hold module names unsigned long reactos_memory_map_descriptor_size; memory_map_t reactos_memory_map[32]; // Memory map -BOOL +static BOOL STDCALL FrLdrLoadKernel(PCHAR szFileName, INT nPos) @@ -144,7 +144,7 @@ LoadKernelSymbols(PCHAR szKernelName, int nPos) return TRUE; } -BOOL +static BOOL FrLdrLoadNlsFile(PCHAR szFileName, PCHAR szModuleName) { @@ -183,7 +183,7 @@ FrLdrLoadNlsFile(PCHAR szFileName, return(TRUE); } -BOOL +static BOOL FrLdrLoadNlsFiles(PCHAR szSystemRoot, PCHAR szErrorOut) { @@ -301,7 +301,7 @@ FrLdrLoadNlsFiles(PCHAR szSystemRoot, return(TRUE); } -BOOL +static BOOL FrLdrLoadDriver(PCHAR szFileName, INT nPos) { @@ -344,7 +344,7 @@ FrLdrLoadDriver(PCHAR szFileName, return(TRUE); } -VOID +static VOID FrLdrLoadBootDrivers(PCHAR szSystemRoot, INT nPos) { diff --git a/reactos/boot/freeldr/freeldr/reactos/setupldr.c b/reactos/boot/freeldr/freeldr/reactos/setupldr.c index 5d840ed2e44..88d26839cab 100644 --- a/reactos/boot/freeldr/freeldr/reactos/setupldr.c +++ b/reactos/boot/freeldr/freeldr/reactos/setupldr.c @@ -308,8 +308,6 @@ LoadNlsFile(PCHAR szSourcePath, PCHAR szFileName, PCHAR szModuleName) return(TRUE); } -BOOL SetupUiInitialize(VOID); - VOID RunLoader(VOID) { ULONG_PTR Base; diff --git a/reactos/boot/freeldr/freeldr/rtl/stdlib.c b/reactos/boot/freeldr/freeldr/rtl/stdlib.c index 477fb054123..2c09c8b5b92 100644 --- a/reactos/boot/freeldr/freeldr/rtl/stdlib.c +++ b/reactos/boot/freeldr/freeldr/rtl/stdlib.c @@ -17,6 +17,8 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ +#include + /* * convert_to_ascii() - converts a number to it's ascii equivalent * from: