/** @file Copyright (C) 2023, Goldfish64. All rights reserved.
SPDX-License-Identifier: BSD-3-Clause **/ #ifndef LEGACY_BOOT_INTERNAL_H #define LEGACY_BOOT_INTERNAL_H #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include /** Legacy operating system type. **/ typedef enum OC_LEGACY_OS_TYPE_ { OcLegacyOsTypeNone, OcLegacyOsTypeWindowsNtldr, OcLegacyOsTypeWindowsBootmgr, OcLegacyOsTypeIsoLinux } OC_LEGACY_OS_TYPE; EFI_STATUS InternalGetBiosDiskAddress ( IN THUNK_CONTEXT *ThunkContext, IN EFI_LEGACY_8259_PROTOCOL *Legacy8259, IN EFI_HANDLE DiskHandle, OUT UINT8 *DriveNumber ); EFI_STATUS InternalIsLegacyInterfaceSupported ( OUT BOOLEAN *IsAppleInterfaceSupported ); EFI_STATUS InternalSetBootCampHDPath ( IN EFI_DEVICE_PATH_PROTOCOL *HdDevicePath ); EFI_STATUS InternalLoadAppleLegacyInterface ( IN EFI_HANDLE ParentImageHandle, OUT EFI_DEVICE_PATH_PROTOCOL **ImageDevicePath, OUT EFI_HANDLE *ImageHandle ); OC_LEGACY_OS_TYPE InternalGetPartitionLegacyOsType ( IN EFI_HANDLE PartitionHandle, IN BOOLEAN IsCdRomSupported ); EFI_STATUS InternalLoadLegacyPbr ( IN EFI_DEVICE_PATH_PROTOCOL *PartitionPath ); #endif // LEGACY_BOOT_INTERNAL_H