OpenCore  1.0.4
OpenCore Bootloader
Loading...
Searching...
No Matches
ToggleSipEntry.c File Reference
#include <Guid/AppleVariable.h>
#include <IndustryStandard/AppleCsrConfig.h>
#include <Uefi.h>
#include <Library/BaseLib.h>
#include <Library/MemoryAllocationLib.h>
#include <Library/OcVariableLib.h>
#include <Library/UefiBootServicesTableLib.h>
#include <Library/UefiRuntimeServicesTableLib.h>
#include <Protocol/OcBootEntry.h>

Go to the source code of this file.

Macros

#define OC_MENU_TOGGLE_SIP   "Toggle SIP (%a)"
 
#define OC_MENU_TOGGLE_SIP_SHOW_CSR   "Toggle SIP (0x%X:%a)"
 
#define OC_MENU_TOGGLE_SIP_MAX_SIZE
 

Functions

STATIC EFI_STATUS SystemActionSetSip (IN OUT OC_PICKER_CONTEXT *Context)
 
STATIC EFI_STATUS EFIAPI ToggleSipGetBootEntries (IN OUT OC_PICKER_CONTEXT *PickerContext, IN CONST EFI_HANDLE Device OPTIONAL, OUT OC_PICKER_ENTRY **Entries, OUT UINTN *NumEntries)
 
STATIC VOID EFIAPI ToggleSipFreeBootEntries (IN OC_PICKER_ENTRY **Entries, IN UINTN NumEntries)
 
EFI_STATUS EFIAPI UefiMain (IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable)
 

Variables

STATIC UINT32 mCsrUserConfig
 
STATIC UINT32 mCsrNextConfig
 
STATIC UINT32 mAttributes
 
STATIC BOOLEAN mShowCsr
 
STATIC OC_PICKER_ENTRY mToggleSipBootEntries [1]
 
STATIC OC_BOOT_ENTRY_PROTOCOL mToggleSipBootEntryProtocol
 

Detailed Description

Boot entry protocol implementation of Toggle SIP boot picker entry.

Copyright (c) 2022, Mike Beaton. All rights reserved.
SPDX-License-Identifier: BSD-3-Clause

Definition in file ToggleSipEntry.c.

Macro Definition Documentation

◆ OC_MENU_TOGGLE_SIP

#define OC_MENU_TOGGLE_SIP   "Toggle SIP (%a)"

Definition at line 20 of file ToggleSipEntry.c.

◆ OC_MENU_TOGGLE_SIP_MAX_SIZE

#define OC_MENU_TOGGLE_SIP_MAX_SIZE
Value:
(\
+ sizeof(UINT32) * 2 * sizeof (CHAR8) - L_STR_LEN("%X") \
+ L_STR_LEN("Disabled") - L_STR_LEN("%a"))
#define L_STR_LEN(String)
Definition OcStringLib.h:26
#define OC_MENU_TOGGLE_SIP_SHOW_CSR

Definition at line 22 of file ToggleSipEntry.c.

◆ OC_MENU_TOGGLE_SIP_SHOW_CSR

#define OC_MENU_TOGGLE_SIP_SHOW_CSR   "Toggle SIP (0x%X:%a)"

Definition at line 21 of file ToggleSipEntry.c.

Function Documentation

◆ SystemActionSetSip()

STATIC EFI_STATUS SystemActionSetSip ( IN OUT OC_PICKER_CONTEXT * Context)

Definition at line 34 of file ToggleSipEntry.c.

◆ ToggleSipFreeBootEntries()

STATIC VOID EFIAPI ToggleSipFreeBootEntries ( IN OC_PICKER_ENTRY ** Entries,
IN UINTN NumEntries )

< Discard const

Definition at line 193 of file ToggleSipEntry.c.

◆ ToggleSipGetBootEntries()

STATIC EFI_STATUS EFIAPI ToggleSipGetBootEntries ( IN OUT OC_PICKER_CONTEXT * PickerContext,
IN CONST EFI_HANDLE Device OPTIONAL,
OUT OC_PICKER_ENTRY ** Entries,
OUT UINTN * NumEntries )

Definition at line 87 of file ToggleSipEntry.c.

◆ UefiMain()

EFI_STATUS EFIAPI UefiMain ( IN EFI_HANDLE ImageHandle,
IN EFI_SYSTEM_TABLE * SystemTable )

< Defaults.

Definition at line 224 of file ToggleSipEntry.c.

Variable Documentation

◆ mAttributes

STATIC UINT32 mAttributes

Definition at line 29 of file ToggleSipEntry.c.

◆ mCsrNextConfig

STATIC UINT32 mCsrNextConfig

Definition at line 28 of file ToggleSipEntry.c.

◆ mCsrUserConfig

STATIC UINT32 mCsrUserConfig

Definition at line 27 of file ToggleSipEntry.c.

◆ mShowCsr

STATIC BOOLEAN mShowCsr

Definition at line 30 of file ToggleSipEntry.c.

◆ mToggleSipBootEntries

STATIC OC_PICKER_ENTRY mToggleSipBootEntries[1]
Initial value:
= {
{
.Id = "toggle_sip",
.Name = NULL,
.Path = NULL,
.Arguments = NULL,
.Flavour = NULL,
.Auxiliary = TRUE,
.Tool = FALSE,
.TextMode = FALSE,
.RealPath = FALSE,
.SystemAction = SystemActionSetSip,
.AudioBasePath = NULL,
}
}
#define OC_VOICE_OVER_AUDIO_BASE_TYPE_OPEN_CORE
Definition OcAudio.h:38
STATIC EFI_STATUS SystemActionSetSip(IN OUT OC_PICKER_CONTEXT *Context)

Definition at line 67 of file ToggleSipEntry.c.

◆ mToggleSipBootEntryProtocol

STATIC OC_BOOT_ENTRY_PROTOCOL mToggleSipBootEntryProtocol
Initial value:
= {
}
#define OC_BOOT_ENTRY_PROTOCOL_REVISION
Definition OcBootEntry.h:31
STATIC VOID EFIAPI ToggleSipFreeBootEntries(IN OC_PICKER_ENTRY **Entries, IN UINTN NumEntries)
STATIC EFI_STATUS EFIAPI ToggleSipGetBootEntries(IN OUT OC_PICKER_CONTEXT *PickerContext, IN CONST EFI_HANDLE Device OPTIONAL, OUT OC_PICKER_ENTRY **Entries, OUT UINTN *NumEntries)

Definition at line 216 of file ToggleSipEntry.c.