mirror of
https://github.com/reactos/reactos.git
synced 2025-07-30 22:01:43 +00:00
[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%
This commit is contained in:
parent
e51e5de1f8
commit
d7c1d220b5
35 changed files with 462 additions and 262 deletions
83
base/setup/lib/setuplib.spec
Normal file
83
base/setup/lib/setuplib.spec
Normal file
|
@ -0,0 +1,83 @@
|
|||
|
||||
@ 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)
|
Loading…
Add table
Add a link
Reference in a new issue