ReactOS 0.4.16-dev-2613-g9533ad7
winldr.h
Go to the documentation of this file.
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>
20typedef 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 */
32#include <poppack.h>
33
35{
39
41//
42// ReactOS Loading Functions
43//
45
46/* The boot options are mutually exclusive */
48{
50
55
57};
58
59#define BOOT_LOGGING (1 << 0)
60#define BOOT_VGA_MODE (1 << 1)
61#define BOOT_DEBUGGING (1 << 2)
62
64extern LOGICAL BootFlags;
65
66VOID
68 _Inout_ OperatingSystemItem* OperatingSystem);
69
70VOID
72 _Inout_z_bytecount_(BootOptionsSize)
73 PSTR BootOptions,
74 _In_ SIZE_T BootOptionsSize);
75
76
79 IN ULONG Argc,
80 IN PCHAR Argv[],
81 IN PCHAR Envp[]);
82
85 IN ULONG Argc,
86 IN PCHAR Argv[],
87 IN PCHAR Envp[]);
88
89
90// conversion.c and conversion.h
#define MAX_PATH
Definition: compat.h:34
r reserved
Definition: btrfs.c:3006
VOID List_PaToVa(_In_ LIST_ENTRY *ListEntry)
ARC_STATUS LoadReactOSSetup(IN ULONG Argc, IN PCHAR Argv[], IN PCHAR Envp[])
Definition: setupldr.c:492
ARC_STATUS LoadAndBootWindows(IN ULONG Argc, IN PCHAR Argv[], IN PCHAR Envp[])
Definition: winldr.c:1179
struct _ARC_DISK_SIGNATURE_EX ARC_DISK_SIGNATURE_EX
BootOption
Definition: winldr.h:48
@ SAFEBOOT
Definition: winldr.h:51
@ LKG_CONFIG
Definition: winldr.h:56
@ SAFEBOOT_DSREPAIR
Definition: winldr.h:54
@ SAFEBOOT_NETWORK
Definition: winldr.h:52
@ SAFEBOOT_ALTSHELL
Definition: winldr.h:53
@ NO_OPTION
Definition: winldr.h:49
VOID AppendBootTimeOptions(_Inout_z_bytecount_(BootOptionsSize) PSTR BootOptions, _In_ SIZE_T BootOptionsSize)
Definition: advopts.c:185
struct RSDP_DESCRIPTOR * PRSDP_DESCRIPTOR
struct _ARC_DISK_SIGNATURE_EX * PARC_DISK_SIGNATURE_EX
PVOID VaToPa(PVOID Va)
Definition: conversion.h:15
PVOID PaToVa(PVOID Pa)
Definition: conversion.h:22
VOID MenuNTOptions(_Inout_ OperatingSystemItem *OperatingSystem)
Definition: advopts.c:106
LOGICAL BootFlags
Definition: advopts.c:44
enum BootOption BootOptionChoice
Definition: advopts.c:43
#define _Inout_z_bytecount_(size)
Definition: ms_sal.h:948
#define _Inout_
Definition: no_sal2.h:162
#define _In_
Definition: no_sal2.h:158
char CHAR
Definition: pedump.c:57
ULONG ARC_STATUS
Definition: arc.h:4
ULONG length
Definition: winldr.h:27
UCHAR extended_checksum
Definition: winldr.h:29
UCHAR checksum
Definition: winldr.h:23
ULONG rsdt_physical_address
Definition: winldr.h:26
UCHAR revision
Definition: winldr.h:25
ULONGLONG xsdt_physical_address
Definition: winldr.h:28
CHAR ArcName[MAX_PATH]
Definition: winldr.h:37
ARC_DISK_SIGNATURE DiskSignature
Definition: winldr.h:36
Definition: typedefs.h:120
char * PSTR
Definition: typedefs.h:51
unsigned char UCHAR
Definition: typedefs.h:53
ULONG_PTR SIZE_T
Definition: typedefs.h:80
#define IN
Definition: typedefs.h:39
uint32_t ULONG
Definition: typedefs.h:59
uint64_t ULONGLONG
Definition: typedefs.h:67
char * PCHAR
Definition: typedefs.h:51
ULONG LOGICAL
Definition: umtypes.h:135