OpenCore
1.0.4
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.