OpenCore  1.0.4
OpenCore Bootloader
Loading...
Searching...
No Matches
AppleBootPolicy.h
Go to the documentation of this file.
1
13#ifndef APPLE_BOOT_POLICY_H
14#define APPLE_BOOT_POLICY_H
15
16#include <Protocol/SimpleFileSystem.h>
17
18#define APPLE_BOOT_POLICY_PROTOCOL_REVISION 0x00000003
19
23#define APPLE_BOOT_POLICY_PROTOCOL_GUID \
24 { 0x62257758, 0x350C, 0x4D0A, \
25 { 0xB0, 0xBD, 0xF6, 0xBE, 0x2E, 0x1E, 0x27, 0x2C } }
26
27// BOOT_POLICY_GET_BOOT_FILE
28
50typedef
51EFI_STATUS
53 IN EFI_HANDLE Device,
54 IN OUT EFI_DEVICE_PATH_PROTOCOL **FilePath
55 );
56
57//
58// Neither is used at this moment.
59// https://opensource.apple.com/source/kext_tools/kext_tools-528.220.8/KextAudit/efi_smc.h.auto.html
60//
61typedef enum {
62 // Boot Policy not valid retry.
64
65 // Boot Selected macOS.
67
68 // Boot Recovery OS, update bridgeOS.
70
71 // Full system reboot, boot selected macOS.
73
74 // Version unknown boot to recovery OS to get more info.
76
77 // Update failed take the failure path.
79
80 // Boot Recovery OS to change security policy.
82
83 // Valid values will be less that this version.
86
87typedef
88EFI_STATUS
90 IN EFI_HANDLE Device,
91 IN BOOT_POLICY_ACTION Action,
92 OUT EFI_DEVICE_PATH_PROTOCOL **FilePath
93 );
94
95typedef
96EFI_STATUS
98 IN EFI_DEVICE_PATH_PROTOCOL *DevicePath,
99 OUT CHAR16 **BootPathName,
100 OUT EFI_HANDLE *Device,
101 OUT EFI_HANDLE *ApfsVolumeHandle
102 );
103
104typedef
105EFI_STATUS
107 IN EFI_DEVICE_PATH_PROTOCOL *DevicePath,
108 IN CONST CHAR16 *PathName,
109 OUT CHAR16 **FullPathName,
110 OUT VOID **Reserved,
111 OUT EFI_FILE_PROTOCOL **Root,
112 OUT EFI_HANDLE *DeviceHandle
113 );
114
115typedef
116EFI_STATUS
118 IN EFI_HANDLE Handle,
119 OUT VOID **Volumes,
120 OUT UINTN *NumberOfEntries
121 );
122
134
138extern EFI_GUID gAppleBootPolicyProtocolGuid;
139
140#endif // APPLE_BOOT_POLICY_H
UINT8 Reserved[430]
Definition Apm.h:39
EFI_STATUS(EFIAPI * BOOT_POLICY_GET_ALL_APFS_RECOVERY_FILE_PATH)(IN EFI_HANDLE Handle, OUT VOID **Volumes, OUT UINTN *NumberOfEntries)
EFI_STATUS(EFIAPI * BOOT_POLICY_GET_BOOT_FILE_EX)(IN EFI_HANDLE Device, IN BOOT_POLICY_ACTION Action, OUT EFI_DEVICE_PATH_PROTOCOL **FilePath)
EFI_STATUS(EFIAPI * BOOT_POLICY_DEVICE_PATH_TO_DIR_PATH)(IN EFI_DEVICE_PATH_PROTOCOL *DevicePath, OUT CHAR16 **BootPathName, OUT EFI_HANDLE *Device, OUT EFI_HANDLE *ApfsVolumeHandle)
EFI_STATUS(EFIAPI * BOOT_POLICY_GET_BOOT_FILE)(IN EFI_HANDLE Device, IN OUT EFI_DEVICE_PATH_PROTOCOL **FilePath)
BOOT_POLICY_ACTION
@ BootPolicyUnknown
@ BootPolicyUpdate
@ BootPolicyNotReady
@ BootPolicyReboot
@ BootPolicyRecoverySecurityPolicyUpdate
@ BootPolicyOk
@ BootPolicyBridgeOSUpdateFailed
@ BootPolicyMaxValue
EFI_STATUS(EFIAPI * BOOT_POLICY_GET_APFS_RECOVERY_FILE_PATH)(IN EFI_DEVICE_PATH_PROTOCOL *DevicePath, IN CONST CHAR16 *PathName, OUT CHAR16 **FullPathName, OUT VOID **Reserved, OUT EFI_FILE_PROTOCOL **Root, OUT EFI_HANDLE *DeviceHandle)
EFI_GUID gAppleBootPolicyProtocolGuid
CHAR16 PathName[DMG_FILE_PATH_LEN]
DMG_FILEPATH_DEVICE_PATH FilePath
APPLE_EVENT_HANDLE Handle
Definition OcTypingLib.h:45
BOOT_POLICY_GET_BOOT_FILE_EX GetBootFileEx
Present as of Revision 3.
BOOT_POLICY_DEVICE_PATH_TO_DIR_PATH DevicePathToDirPath
Present as of Revision 3.
BOOT_POLICY_GET_ALL_APFS_RECOVERY_FILE_PATH GetAllApfsRecoveryFilePath
Present as of Revision 3.
UINTN Revision
The revision of the installed protocol.
BOOT_POLICY_GET_APFS_RECOVERY_FILE_PATH GetApfsRecoveryFilePath
Present as of Revision 3.
BOOT_POLICY_GET_BOOT_FILE GetBootFile
Present as of Revision 1.