OpenCore  1.0.4
OpenCore Bootloader
Loading...
Searching...
No Matches
FirmwareSettingsEntry.c
Go to the documentation of this file.
1
9
10#include <Uefi.h>
11#include <Library/BaseLib.h>
13#include <Library/UefiBootServicesTableLib.h>
15
16#define OC_MENU_FIRMWARE_SETTINGS_ID "firmware_settings"
17#define OC_MENU_FIRMWARE_SETTINGS_ENTRY "Firmware Settings"
18
19STATIC
20EFI_STATUS
22 IN OUT OC_PICKER_CONTEXT *PickerContext
23 )
24{
25 return OcResetSystem (L"firmware");
26}
27
29 {
32 .Path = NULL,
33 .Arguments = NULL,
35 .Auxiliary = TRUE,
36 .Tool = FALSE,
37 .TextMode = FALSE,
38 .RealPath = FALSE,
39 .SystemAction = SystemActionFirmwareSettings,
42 }
43};
44
45STATIC
46EFI_STATUS
47EFIAPI
49 IN OUT OC_PICKER_CONTEXT *PickerContext,
50 IN CONST EFI_HANDLE Device OPTIONAL,
51 OUT OC_PICKER_ENTRY **Entries,
52 OUT UINTN *NumEntries
53 )
54{
55 //
56 // We provide non-device-specific entries only.
57 //
58 if (Device != NULL) {
59 return EFI_NOT_FOUND;
60 }
61
62 DEBUG ((DEBUG_INFO, "BEP: Firmware settings entry\n"));
63
66
67 return EFI_SUCCESS;
68}
69
70STATIC
78
79EFI_STATUS
80EFIAPI
82 IN EFI_HANDLE ImageHandle,
83 IN EFI_SYSTEM_TABLE *SystemTable
84 )
85{
86 EFI_STATUS Status;
87
88 //
89 // Will log relevant warnings if unsupported.
90 //
92 if (EFI_ERROR (Status)) {
93 //
94 // We must succeed or driver halts load.
95 //
96 return EFI_SUCCESS;
97 }
98
99 return gBS->InstallMultipleProtocolInterfaces (
100 &ImageHandle,
103 NULL
104 );
105}
#define ARRAY_SIZE(Array)
Definition AppleMacEfi.h:34
#define OC_MENU_FIRMWARE_SETTINGS_ENTRY
STATIC EFI_STATUS EFIAPI FirmwareSettingsGetBootEntries(IN OUT OC_PICKER_CONTEXT *PickerContext, IN CONST EFI_HANDLE Device OPTIONAL, OUT OC_PICKER_ENTRY **Entries, OUT UINTN *NumEntries)
STATIC OC_BOOT_ENTRY_PROTOCOL mFirmwareSettingsBootEntryProtocol
EFI_STATUS EFIAPI UefiMain(IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable)
STATIC EFI_STATUS SystemActionFirmwareSettings(IN OUT OC_PICKER_CONTEXT *PickerContext)
#define OC_MENU_FIRMWARE_SETTINGS_ID
STATIC OC_PICKER_ENTRY mFirmwareSettingsBootEntries[1]
#define OC_VOICE_OVER_AUDIO_FILE_FIRMWARE_SETTINGS
Definition OcAudio.h:53
#define OC_VOICE_OVER_AUDIO_BASE_TYPE_OPEN_CORE
Definition OcAudio.h:38
EFI_GUID gOcBootEntryProtocolGuid
#define OC_BOOT_ENTRY_PROTOCOL_REVISION
Definition OcBootEntry.h:31
EFI_STATUS EFIAPI OcResetSystem(IN CHAR16 *Mode)
#define OC_FLAVOUR_FIRMWARE_SETTINGS
EFI_STATUS EFIAPI OcResetToFirmwareSettingsSupported(VOID)
EFI_BOOT_SERVICES * gBS