|
OpenCore
1.0.5
OpenCore Bootloader
|
#include "BootManagementInternal.h"#include <Guid/AppleFile.h>#include <Guid/AppleVariable.h>#include <Guid/OcVariable.h>#include <IndustryStandard/AppleCsrConfig.h>#include <Protocol/AppleBootPolicy.h>#include <Protocol/AppleKeyMapAggregator.h>#include <Protocol/AppleBeepGen.h>#include <Protocol/LoadedImage.h>#include <Protocol/OcAudio.h>#include <Protocol/SimpleTextOut.h>#include <Library/BaseLib.h>#include <Library/BaseMemoryLib.h>#include <Library/BaseOverflowLib.h>#include <Library/OcConsoleLib.h>#include <Library/OcCryptoLib.h>#include <Library/OcDebugLogLib.h>#include <Library/DevicePathLib.h>#include <Library/OcTimerLib.h>#include <Library/OcTypingLib.h>#include <Library/MemoryAllocationLib.h>#include <Library/OcAppleKeyMapLib.h>#include <Library/OcBootManagementLib.h>#include <Library/OcDevicePathLib.h>#include <Library/OcFileLib.h>#include <Library/OcMiscLib.h>#include <Library/OcRtcLib.h>#include <Library/OcStringLib.h>#include <Library/PrintLib.h>#include <Library/UefiBootServicesTableLib.h>#include <Library/UefiRuntimeServicesTableLib.h>#include <Library/UefiLib.h>#include <Library/ResetSystemLib.h>Go to the source code of this file.
Macros | |
| #define | MENU_PREFIX_LENGTH (5) |
| #define | OC_KB_DBG_MAX_COLUMN 80 |
| #define | OC_KB_DBG_DELTA_SAMPLE_COLUMN 0 |
| #define | OC_KB_DBG_PRINT_ROW 2 |
| #define | OC_KB_DBG_DOWN_ROW (OC_KB_DBG_PRINT_ROW + 4) |
| #define | OC_KB_DBG_X_ROW (OC_KB_DBG_PRINT_ROW + 5) |
| #define | OC_KB_DBG_MODIFIERS_ROW (OC_KB_DBG_PRINT_ROW + 6) |
Typedefs | |
| typedef _TAB_FOCUS | TAB_FOCUS |
Enumerations | |
| enum | _TAB_FOCUS { TAB_PICKER , TAB_RESTART , TAB_SHUTDOWN , TAB_MAX } |
Functions | |
| STATIC VOID | InitKbDebugDisplay (VOID) |
| STATIC VOID EFIAPI | InstrumentLoopDelay (UINT64 LoopDelayStart, UINT64 LoopDelayEnd) |
| STATIC VOID EFIAPI | ShowKbDebugDisplay (UINTN NumKeysDown, UINTN NumKeysHeld, APPLE_MODIFIER_MAP Modifiers) |
| STATIC VOID | DisplaySystemMs (VOID) |
| STATIC CHAR16 | GetPickerEntryCursor (IN OC_BOOT_CONTEXT *BootContext, IN UINT32 TimeOutSeconds, IN INTN ChosenEntry, IN UINTN Index, IN OC_MODIFIER_MAP OcModifiers) |
| VOID | UpdateTabContext (IN BOOLEAN IsEntering, IN OC_BOOT_CONTEXT *BootContext, IN OC_BOOT_ENTRY **BootEntries, IN TAB_FOCUS TabFocus, IN INTN ChosenEntry, IN CHAR16 OldEntryCursor, IN INT32 FirstIndexRow, IN INT32 ShutdownRestartRow, IN INT32 ShutdownColumn, IN INT32 RestartColumn) |
| EFI_STATUS EFIAPI | OcShowSimpleBootMenu (IN OC_BOOT_CONTEXT *BootContext, IN OC_BOOT_ENTRY **BootEntries, OUT OC_BOOT_ENTRY **ChosenBootEntry) |
| EFI_STATUS EFIAPI | OcShowSimplePasswordRequest (IN OC_PICKER_CONTEXT *Context, IN OC_PRIVILEGE_LEVEL Level) |
Variables | |
| STATIC INT32 | mStatusRow |
| STATIC INT32 | mStatusColumn |
| STATIC INT32 | mRunningColumn |
| STATIC UINT64 | mPreviousTick |
| STATIC UINT64 | mLoopDelayStart |
| STATIC UINT64 | mLoopDelayEnd |
| STATIC TAB_FOCUS | mFocusList [] |
| STATIC TAB_FOCUS | mFocusListReversed [] |
| STATIC TAB_FOCUS | mFocusListMinimal [] |
| STATIC OC_KB_DEBUG_CALLBACKS | mSimplePickerKbDebug |
Builtin picker and password handler.
Copyright (C) 2019, vit9696. All rights reserved.
Copyright (C) 2021, Mike Beaton. All rights reserved.
SPDX-License-Identifier: BSD-3-Clause
Definition in file BuiltinPicker.c.
| #define MENU_PREFIX_LENGTH (5) |
Definition at line 94 of file BuiltinPicker.c.
| #define OC_KB_DBG_DELTA_SAMPLE_COLUMN 0 |
Definition at line 97 of file BuiltinPicker.c.
| #define OC_KB_DBG_DOWN_ROW (OC_KB_DBG_PRINT_ROW + 4) |
Definition at line 105 of file BuiltinPicker.c.
| #define OC_KB_DBG_MAX_COLUMN 80 |
Definition at line 96 of file BuiltinPicker.c.
| #define OC_KB_DBG_MODIFIERS_ROW (OC_KB_DBG_PRINT_ROW + 6) |
Definition at line 107 of file BuiltinPicker.c.
| #define OC_KB_DBG_PRINT_ROW 2 |
Definition at line 102 of file BuiltinPicker.c.
| #define OC_KB_DBG_X_ROW (OC_KB_DBG_PRINT_ROW + 5) |
Definition at line 106 of file BuiltinPicker.c.
| typedef _TAB_FOCUS TAB_FOCUS |
Definition at line 67 of file BuiltinPicker.c.
| enum _TAB_FOCUS |
| Enumerator | |
|---|---|
| TAB_PICKER | |
| TAB_RESTART | |
| TAB_SHUTDOWN | |
| TAB_MAX | |
Definition at line 57 of file BuiltinPicker.c.
| STATIC VOID DisplaySystemMs | ( | VOID | ) |
Definition at line 222 of file BuiltinPicker.c.
| STATIC CHAR16 GetPickerEntryCursor | ( | IN OC_BOOT_CONTEXT * | BootContext, |
| IN UINT32 | TimeOutSeconds, | ||
| IN INTN | ChosenEntry, | ||
| IN UINTN | Index, | ||
| IN OC_MODIFIER_MAP | OcModifiers ) |
Definition at line 234 of file BuiltinPicker.c.
| STATIC VOID InitKbDebugDisplay | ( | VOID | ) |
Definition at line 111 of file BuiltinPicker.c.
| STATIC VOID EFIAPI InstrumentLoopDelay | ( | UINT64 | LoopDelayStart, |
| UINT64 | LoopDelayEnd ) |
Definition at line 124 of file BuiltinPicker.c.
| EFI_STATUS EFIAPI OcShowSimpleBootMenu | ( | IN OC_BOOT_CONTEXT * | BootContext, |
| IN OC_BOOT_ENTRY ** | BootEntries, | ||
| OUT OC_BOOT_ENTRY ** | ChosenBootEntry ) |
Show simple boot entry selection menu and return chosen entry.
| [in] | BootContext | Boot context. |
| [in] | BootEntries | Enumerated entries. |
| [in] | ChosenBootEntry | Chosen boot entry from BootEntries on success. |
| EFI_SUCCESS | Executed successfully and picked up an entry. |
| EFI_ABORTED | When the user chose to by pressing Esc or 0. |
Definition at line 332 of file BuiltinPicker.c.
| EFI_STATUS EFIAPI OcShowSimplePasswordRequest | ( | IN OC_PICKER_CONTEXT * | Context, |
| IN OC_PRIVILEGE_LEVEL | Level ) |
Show simple password prompt and return verification status.
| [in] | Context | Picker context. |
| [in] | Level | The privilege level to request escalating to. |
| EFI_SUCCESS | The privilege level has been escalated successfully. |
| EFI_ABORTED | The privilege escalation has been aborted. |
| other | The system must be considered compromised. |
Definition at line 887 of file BuiltinPicker.c.
| STATIC VOID EFIAPI ShowKbDebugDisplay | ( | UINTN | NumKeysDown, |
| UINTN | NumKeysHeld, | ||
| APPLE_MODIFIER_MAP | Modifiers ) |
Definition at line 136 of file BuiltinPicker.c.
| VOID UpdateTabContext | ( | IN BOOLEAN | IsEntering, |
| IN OC_BOOT_CONTEXT * | BootContext, | ||
| IN OC_BOOT_ENTRY ** | BootEntries, | ||
| IN TAB_FOCUS | TabFocus, | ||
| IN INTN | ChosenEntry, | ||
| IN CHAR16 | OldEntryCursor, | ||
| IN INT32 | FirstIndexRow, | ||
| IN INT32 | ShutdownRestartRow, | ||
| IN INT32 | ShutdownColumn, | ||
| IN INT32 | RestartColumn ) |
Definition at line 254 of file BuiltinPicker.c.
| STATIC TAB_FOCUS mFocusList[] |
Definition at line 69 of file BuiltinPicker.c.
| STATIC TAB_FOCUS mFocusListMinimal[] |
Definition at line 87 of file BuiltinPicker.c.
| STATIC TAB_FOCUS mFocusListReversed[] |
Definition at line 78 of file BuiltinPicker.c.
| STATIC UINT64 mLoopDelayEnd |
Definition at line 55 of file BuiltinPicker.c.
| STATIC UINT64 mLoopDelayStart |
Definition at line 54 of file BuiltinPicker.c.
| STATIC UINT64 mPreviousTick |
Definition at line 52 of file BuiltinPicker.c.
| STATIC INT32 mRunningColumn |
Definition at line 50 of file BuiltinPicker.c.
| STATIC OC_KB_DEBUG_CALLBACKS mSimplePickerKbDebug |
Definition at line 215 of file BuiltinPicker.c.
| STATIC INT32 mStatusColumn |
Definition at line 48 of file BuiltinPicker.c.
| STATIC INT32 mStatusRow |
Definition at line 47 of file BuiltinPicker.c.