Reactos
1/*
2 * PROJECT: ReactOS Setup Library
3 * LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
4 * PURPOSE: NT 5.x family (MS Windows <= 2003, and ReactOS)
5 * operating systems detection code.
6 * COPYRIGHT: Copyright 2017-2024 Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
7 */
8
9#pragma once
10
11/* Language-independent Vendor strings */
12#define VENDOR_REACTOS L"ReactOS"
13#define VENDOR_MICROSOFT L"Microsoft"
14
15typedef struct _NTOS_INSTALLATION
16{
17 LIST_ENTRY ListEntry;
18// BOOLEAN IsDefault; // TRUE / FALSE whether this installation is marked as "default" in its corresponding loader configuration file.
19 USHORT Machine; // Target architecture of the NTOS installation
20 UNICODE_STRING SystemArcPath; // Normalized ARC path ("ArcSystemRoot")
21 UNICODE_STRING SystemNtPath; // Corresponding NT path ("NtSystemRoot")
22 PCWSTR PathComponent; // Pointer inside SystemNtPath.Buffer
23 ULONG DiskNumber;
24 ULONG PartitionNumber;
25 PVOLENTRY Volume; // PVOLINFO
26 WCHAR InstallationName[MAX_PATH];
27 WCHAR VendorName[MAX_PATH];
28 // CHAR Data[ANYSIZE_ARRAY];
29} NTOS_INSTALLATION, *PNTOS_INSTALLATION;
30
31// EnumerateNTOSInstallations
32PGENERIC_LIST
33NTAPI
34CreateNTOSInstallationsList(
35 _In_ PPARTLIST PartList);
36
37PCWSTR
38NTAPI
39FindSubStrI(
40 _In_ PCWSTR str,
41 _In_ PCWSTR strSearch);
42
43/* EOF */