1 /* 2 * PROJECT: FreeLoader 3 * LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+) 4 * PURPOSE: Windows-compatible NT OS Loader. 5 * COPYRIGHT: Copyright 2006-2019 Aleksey Bragin <aleksey@reactos.org> 6 */ 7 8 #pragma once 9 10 #include <arc/setupblk.h> 11 12 // See freeldr/ntldr/winldr.h 13 #define TAG_WLDR_DTE 'eDlW' 14 #define TAG_WLDR_BDE 'dBlW' 15 #define TAG_WLDR_NAME 'mNlW' 16 17 // Some definitions 18 19 #include <pshpack1.h> 20 typedef struct /* Root System Descriptor Pointer */ 21 { 22 CHAR signature [8]; /* contains "RSD PTR " */ 23 UCHAR checksum; /* to make sum of struct == 0 */ 24 CHAR oem_id [6]; /* OEM identification */ 25 UCHAR revision; /* Must be 0 for 1.0, 2 for 2.0 */ 26 ULONG rsdt_physical_address; /* 32-bit physical address of RSDT */ 27 ULONG length; /* XSDT Length in bytes including hdr */ 28 ULONGLONG xsdt_physical_address; /* 64-bit physical address of XSDT */ 29 UCHAR extended_checksum; /* Checksum of entire table */ 30 CHAR reserved [3]; /* reserved field must be 0 */ 31 } RSDP_DESCRIPTOR, *PRSDP_DESCRIPTOR; 32 #include <poppack.h> 33 34 typedef struct _ARC_DISK_SIGNATURE_EX 35 { 36 ARC_DISK_SIGNATURE DiskSignature; 37 CHAR ArcName[MAX_PATH]; 38 } ARC_DISK_SIGNATURE_EX, *PARC_DISK_SIGNATURE_EX; 39 40 //////////////////////////////////////////////////////////////////////////////// 41 // 42 // ReactOS Loading Functions 43 // 44 //////////////////////////////////////////////////////////////////////////////// 45 46 ARC_STATUS 47 LoadAndBootWindows( 48 IN ULONG Argc, 49 IN PCHAR Argv[], 50 IN PCHAR Envp[]); 51 52 ARC_STATUS 53 LoadReactOSSetup( 54 IN ULONG Argc, 55 IN PCHAR Argv[], 56 IN PCHAR Envp[]); 57 58 59 // conversion.c and conversion.h 60 PVOID VaToPa(PVOID Va); 61 PVOID PaToVa(PVOID Pa); 62 VOID List_PaToVa(_In_ LIST_ENTRY *ListEntry); 63