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 15 typedef 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 32 PGENERIC_LIST 33 CreateNTOSInstallationsList( 34 _In_ PPARTLIST PartList); 35 36 /* 37 * FindSubStrI(PCWSTR str, PCWSTR strSearch) : 38 * Searches for a sub-string 'strSearch' inside 'str', similarly to what 39 * wcsstr(str, strSearch) does, but ignores the case during the comparisons. 40 */ 41 PCWSTR FindSubStrI(PCWSTR str, PCWSTR strSearch); 42 43 /* EOF */ 44