[BOOT] Add boot library stubs
This commit is contained in:
parent
472b48ffd6
commit
42369f91ee
@ -14,6 +14,7 @@ Abstract:
|
||||
--*/
|
||||
|
||||
#include "bootmgr.h"
|
||||
#include "bootlib.h"
|
||||
|
||||
NTSTATUS
|
||||
BmMain (
|
||||
@ -38,9 +39,20 @@ Return Value:
|
||||
--*/
|
||||
|
||||
{
|
||||
(VOID)InputParameters;
|
||||
NTSTATUS Status;
|
||||
BOOT_LIBRARY_PARAMETERS LibraryParameters;
|
||||
|
||||
/* TODO: Implement this */
|
||||
LibraryParameters.Flags = 0;
|
||||
|
||||
return STATUS_SUCCESS;
|
||||
//
|
||||
// Initialize the boot library.
|
||||
//
|
||||
Status = BlInitializeLibrary(InputParameters, &LibraryParameters);
|
||||
if (!NT_SUCCESS(Status)) {
|
||||
goto Exit;
|
||||
}
|
||||
|
||||
Exit:
|
||||
BlDestroyLibrary();
|
||||
return Status;
|
||||
}
|
||||
|
37
BOOT/ENVIRON/INC/bootlib.h
Normal file
37
BOOT/ENVIRON/INC/bootlib.h
Normal file
@ -0,0 +1,37 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2024, Quinn Stephens.
|
||||
Provided under the BSD 3-Clause license.
|
||||
|
||||
Module Name:
|
||||
|
||||
bootlib.h
|
||||
|
||||
Abstract:
|
||||
|
||||
Boot library definitions.
|
||||
|
||||
--*/
|
||||
|
||||
#ifndef _BOOTLIB_H
|
||||
#define _BOOTLIB_H
|
||||
|
||||
#include <nt.h>
|
||||
#include "bootmgr.h"
|
||||
|
||||
typedef struct {
|
||||
ULONG Flags;
|
||||
} BOOT_LIBRARY_PARAMETERS, *PBOOT_LIBRARY_PARAMETERS;
|
||||
|
||||
NTSTATUS
|
||||
BlInitializeLibrary (
|
||||
IN PBOOT_INPUT_PARAMETERS InputParameters,
|
||||
IN PBOOT_LIBRARY_PARAMETERS LibraryParameters
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
BlDestroyLibrary (
|
||||
VOID
|
||||
);
|
||||
|
||||
#endif
|
@ -50,6 +50,9 @@ Abstract:
|
||||
#define NTAPI
|
||||
#endif
|
||||
|
||||
#undef NULL
|
||||
#define NULL ((VOID *)0)
|
||||
|
||||
//
|
||||
// Basic types.
|
||||
//
|
||||
|
107
BOOT/ENVIRON/LIB/bootlib.c
Normal file
107
BOOT/ENVIRON/LIB/bootlib.c
Normal file
@ -0,0 +1,107 @@
|
||||
/*++
|
||||
|
||||
Copyright (c) 2024, Quinn Stephens.
|
||||
Provided under the BSD 3-Clause license.
|
||||
|
||||
Module Name:
|
||||
|
||||
bootlib.c
|
||||
|
||||
Abstract:
|
||||
|
||||
Provides boot library utilities.
|
||||
|
||||
--*/
|
||||
|
||||
#include "bootlib.h"
|
||||
|
||||
NTSTATUS
|
||||
InitializeLibrary (
|
||||
IN PBOOT_INPUT_PARAMETERS InputParameters,
|
||||
IN PBOOT_LIBRARY_PARAMETERS LibraryParameters
|
||||
)
|
||||
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
Internal routine to initialize the boot library.
|
||||
|
||||
Arguments:
|
||||
|
||||
InputParameters - pointer to the input parameters structure.
|
||||
|
||||
LibraryParameters - pointer to the library parameters structure.
|
||||
|
||||
Return Value:
|
||||
|
||||
STATUS_SUCCESS if successful.
|
||||
|
||||
--*/
|
||||
|
||||
{
|
||||
(VOID)LibraryParameters;
|
||||
|
||||
//
|
||||
// Verify input parameters structure.
|
||||
//
|
||||
if (InputParameters == NULL || InputParameters->Signature != BOOT_INPUT_PARAMETERS_SIGNATURE) {
|
||||
return STATUS_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
BlInitializeLibrary (
|
||||
IN PBOOT_INPUT_PARAMETERS InputParameters,
|
||||
IN PBOOT_LIBRARY_PARAMETERS LibraryParameters
|
||||
)
|
||||
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
Initializes the boot library.
|
||||
|
||||
Arguments:
|
||||
|
||||
InputParameters - pointer to the input parameters structure.
|
||||
|
||||
LibraryParameters - pointer to the library parameters structure.
|
||||
|
||||
Return Value:
|
||||
|
||||
Any value returned by InitializeLibrary().
|
||||
|
||||
--*/
|
||||
|
||||
{
|
||||
return InitializeLibrary(InputParameters, LibraryParameters);
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
BlDestroyLibrary (
|
||||
VOID
|
||||
)
|
||||
|
||||
/*++
|
||||
|
||||
Routine Description:
|
||||
|
||||
Cleans up after the boot library.
|
||||
|
||||
Arguments:
|
||||
|
||||
None.
|
||||
|
||||
Return Value:
|
||||
|
||||
STATUS_SUCCESS if successful.
|
||||
Error status if an error is encountered.
|
||||
|
||||
--*/
|
||||
|
||||
{
|
||||
return STATUS_SUCCESS;
|
||||
}
|
Loading…
Reference in New Issue
Block a user