reactos/base/setup/lib/setuplib.spec
Hermès Bélusca-Maïto d7c1d220b5
[SETUPLIB][REACTOS][USETUP] Turn setuplib into a DLL shared between TUI and GUI 1st-stage setups (#7523)
CORE-13525

Notes:
- Most of the exported functions have been turned from default cdecl to explicit stdcall / "NTAPI".
- The two InitializeSetup() phases have been collapsed to make the initialization simpler.

Average reductions (percentages; see PR #7523 for actual numbers):

x86 Debug builds:
reactos.exe: 35.1%
smss.exe   : 39.8%
Total (including setuplib.dll): 17.9%

x86 Release builds:
reactos.exe: 22.3%
smss.exe   : 25.0%
Total (including setuplib.dll): 10.6%

x64 Debug builds:
reactos.exe: 40.6%
smss.exe   : 41.6%
Total (including setuplib.dll): 20.0%

x64 Release builds:
reactos.exe: 22.8%
smss.exe   : 22.3%
Total (including setuplib.dll): 10.1%
2024-12-02 23:05:38 +01:00

83 lines
2.4 KiB
Ruby

@ extern IsUnattendedSetup
@ extern MbrPartitionTypes
@ extern GptPartitionTypes
;; fileqsup and infsupp function pointers to be initialized by the user of this library
;;@ extern SpFileExports
;;@ extern SpInfExports
;; infsupp
@ cdecl INF_GetDataField(ptr long ptr) ## -private
;; filesup
@ cdecl ConcatPathsV(ptr long long ptr)
@ cdecl CombinePathsV(ptr long long ptr)
@ varargs ConcatPaths(ptr long long)
@ varargs CombinePaths(ptr long long)
@ cdecl SetupCopyFile(wstr wstr long)
@ cdecl SetupDeleteFile(wstr long)
@ cdecl SetupMoveFile(wstr wstr long)
;; genlist
@ stdcall CreateGenericList()
@ stdcall DestroyGenericList(ptr long)
@ stdcall GetCurrentListEntry(ptr)
@ stdcall GetFirstListEntry(ptr)
@ stdcall GetNextListEntry(ptr)
@ stdcall GetListEntryData(ptr)
@ stdcall GetNumberOfListEntries(ptr)
@ stdcall SetCurrentListEntry(ptr ptr)
;; partlist
@ stdcall CreatePartitionList()
@ stdcall CreatePartition(ptr ptr int64 ptr)
@ stdcall DeletePartition(ptr ptr ptr)
@ stdcall DestroyPartitionList(ptr)
@ stdcall GetNextPartition(ptr ptr)
@ stdcall GetPrevPartition(ptr ptr)
@ stdcall GetAdjUnpartitionedEntry(ptr long)
@ stdcall PartitionCreateChecks(ptr int64 ptr)
@ cdecl -ret64 RoundingDivide(int64 int64)
;;;;
@ cdecl IsPartitionActive(ptr) ## -private
@ cdecl SelectPartition(ptr long long)
;; osdetect
@ stdcall CreateNTOSInstallationsList(ptr)
@ stdcall FindSubStrI(wstr wstr)
;; settings
@ cdecl CreateComputerTypeList(ptr)
@ cdecl CreateDisplayDriverList(ptr)
@ cdecl CreateKeyboardDriverList(ptr)
@ cdecl CreateKeyboardLayoutList(ptr wstr ptr)
@ cdecl CreateLanguageList(ptr ptr)
@ cdecl GetDefaultLanguageIndex()
;; mui
@ cdecl MUIDefaultKeyboardLayout(wstr)
@ cdecl MUIGetOEMCodePage(wstr) ## -private
;; setuplib
@ stdcall CheckUnattendedSetup(ptr)
@ stdcall FinishSetup(ptr)
@ stdcall IsValidInstallDirectory(wstr)
@ stdcall InitDestinationPaths(ptr wstr ptr)
@ stdcall InitializeSetup(ptr ptr ptr ptr)
@ stdcall InitSystemPartition(ptr ptr ptr ptr ptr)
@ stdcall InstallSetupInfFile(ptr)
@ stdcall UpdateRegistry(ptr long ptr long wstr ptr ptr)
;; fsutil
@ stdcall FsVolCommitOpsQueue(ptr ptr ptr ptr ptr)
@ stdcall GetRegisteredFileSystems(long ptr)
;; install
@ stdcall PrepareFileCopy(ptr ptr)
@ stdcall DoFileCopy(ptr ptr ptr)
;; bootsup
@ stdcall InstallBootManagerAndBootEntries(long ptr ptr ptr ptr)
@ stdcall InstallBootcodeToRemovable(long ptr ptr ptr)