[SETUPLIB] Code re-organization in bootsup.c and fsutil.c.

- Move the actual VBR bootcode installation helpers into fsutil.c
  (they depend on the selected filesystem).

- Introduce InstallBootCodeToDisk() and InstallBootCodeToFile()
  and bootcode.c helpers, in order to replace the several functions
  that were duplicating the same code.
This commit is contained in:
Hermès Bélusca-Maïto 2020-10-17 20:29:47 +02:00
parent b51b8ee2d5
commit 593bcce999
No known key found for this signature in database
GPG key ID: 3B2539C65E7B93D0
7 changed files with 784 additions and 1312 deletions

37
base/setup/lib/bootcode.h Normal file
View file

@ -0,0 +1,37 @@
/*
* PROJECT: ReactOS Setup Library
* LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
* PURPOSE: BootCode support functions.
* COPYRIGHT: Copyright 2020 Hermes Belusca-Maito
*/
#pragma once
#ifdef SECTORSIZE
#undef SECTORSIZE
#endif
#define SECTORSIZE 512
typedef struct _BOOTCODE
{
PVOID BootCode;
ULONG Length;
} BOOTCODE, *PBOOTCODE;
NTSTATUS
ReadBootCodeByHandle(
IN OUT PBOOTCODE BootCodeInfo,
IN HANDLE FileHandle,
IN ULONG Length OPTIONAL);
NTSTATUS
ReadBootCodeFromFile(
IN OUT PBOOTCODE BootCodeInfo,
IN PUNICODE_STRING FilePath,
IN ULONG Length OPTIONAL);
VOID
FreeBootCode(
IN OUT PBOOTCODE BootCodeInfo);
/* EOF */