- NDK 0.98, now with versionned headers. Too many changes to list, see the TinyKRNL...
[reactos.git] / reactos / boot / freeldr / freeldr / include / reactos.h
index c553754..ea3ad00 100644 (file)
@@ -26,7 +26,7 @@
 // ReactOS Loading Functions
 //
 ///////////////////////////////////////////////////////////////////////////////////////
-VOID LoadAndBootReactOS(PUCHAR OperatingSystemName);
+VOID LoadAndBootReactOS(PCSTR OperatingSystemName);
 
 ///////////////////////////////////////////////////////////////////////////////////////
 //
@@ -40,9 +40,30 @@ VOID ReactOSRunSetupLoader(VOID);
 // ARC Path Functions
 //
 ///////////////////////////////////////////////////////////////////////////////////////
-BOOL DissectArcPath(LPSTR ArcPath, LPSTR BootPath, PULONG BootDrive, PULONG BootPartition);
-VOID ConstructArcPath(PUCHAR ArcPath, PUCHAR SystemFolder, ULONG Disk, ULONG Partition);
-ULONG ConvertArcNameToBiosDriveNumber(PUCHAR ArcPath);
+BOOL DissectArcPath(CHAR *ArcPath, CHAR *BootPath, ULONG* BootDrive, ULONG* BootPartition);
+VOID ConstructArcPath(PCHAR ArcPath, PCHAR SystemFolder, ULONG Disk, ULONG Partition);
+ULONG ConvertArcNameToBiosDriveNumber(PCHAR ArcPath);
 
+///////////////////////////////////////////////////////////////////////////////////////
+//
+// Loader Functions And Definitions
+//
+///////////////////////////////////////////////////////////////////////////////////////
+extern ROS_LOADER_PARAMETER_BLOCK LoaderBlock; /* Multiboot info structure passed to kernel */
+extern char                                    reactos_kernel_cmdline[255];    // Command line passed to kernel
+extern LOADER_MODULE           reactos_modules[64];            // Array to hold boot module info loaded for the kernel
+extern char                                    reactos_module_strings[64][256];        // Array to hold module names
+extern unsigned long           reactos_memory_map_descriptor_size;
+extern memory_map_t                    reactos_memory_map[32];         // Memory map
+
+VOID FASTCALL FrLdrSetupPae(ULONG Magic);
+VOID FASTCALL FrLdrSetupPageDirectory(VOID);
+VOID FASTCALL FrLdrGetPaeMode(VOID);
+BOOL STDCALL FrLdrMapKernel(FILE *KernelImage);
+ULONG_PTR STDCALL FrLdrCreateModule(LPCSTR ModuleName);
+ULONG_PTR STDCALL FrLdrLoadModule(FILE *ModuleImage, LPCSTR ModuleName, PULONG ModuleSize);
+BOOL STDCALL FrLdrCloseModule(ULONG_PTR ModuleBase, ULONG dwModuleSize);
+VOID STDCALL FrLdrStartup(ULONG Magic);
+typedef VOID (FASTCALL *ASMCODE)(ULONG Magic, PROS_LOADER_PARAMETER_BLOCK LoaderBlock);
 
 #endif // defined __REACTOS_H