6#ifndef LOAD_FILE_INTERNAL_H
7#define LOAD_FILE_INTERNAL_H
10#include <Uefi/UefiSpec.h>
11#include <Library/DevicePathLib.h>
12#include <Library/MemoryAllocationLib.h>
13#include <Library/NetLib.h>
14#include <Library/PrintLib.h>
20#include <Library/UefiBootServicesTableLib.h>
21#include <Library/UefiRuntimeServicesTableLib.h>
22#include <Library/UefiLib.h>
23#include <Protocol/HttpBootCallback.h>
24#include <Protocol/Ip4Config2.h>
25#include <Protocol/LoadFile.h>
26#include <Protocol/LoadedImage.h>
28#include <Protocol/RamDisk.h>
29#include <Guid/ImageAuthentication.h>
30#include <Guid/TlsAuthentication.h>
50#define IP4_CONFIG2_VARIABLE_ATTRIBUTE (EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS)
58#define IP4_ALLZERO_ADDRESS 0x00000000u
103 IN EFI_DEVICE_PATH_PROTOCOL *Path
112EFI_DEVICE_PATH_PROTOCOL *
114 EFI_DEVICE_PATH_PROTOCOL *DevicePath
130EFI_DEVICE_PATH_PROTOCOL *
132 IN EFI_DEVICE_PATH_PROTOCOL *
FilePath,
134 OUT UINT32 *DataSize,
135 IN BOOLEAN ValidateHttp
138EFI_DEVICE_PATH_PROTOCOL *
140 IN EFI_DEVICE_PATH_PROTOCOL *
FilePath
145 IN EFI_DEVICE_PATH_PROTOCOL *RamDiskDevicePath
164 OUT UINT32 *DataSize,
165 OUT EFI_DEVICE_PATH_PROTOCOL **DevicePath,
166 OUT EFI_HANDLE *StorageHandle,
167 OUT EFI_DEVICE_PATH_PROTOCOL **StoragePath,
179 OUT UINT32 *DataSize,
180 OUT EFI_DEVICE_PATH_PROTOCOL **DevicePath,
181 OUT EFI_HANDLE *StorageHandle,
182 OUT EFI_DEVICE_PATH_PROTOCOL **StoragePath,
199 IN EFI_DEVICE_PATH_PROTOCOL *DevicePath,
202 OUT CHAR8 **OtherUri,
203 IN BOOLEAN OnlySearchForFromExt
214 EFI_DEVICE_PATH_PROTOCOL *DevicePath,
217 EFI_DEVICE_PATH_PROTOCOL **UriDevicePath
222 EFI_HANDLE LoadFileHandle
236 IN CHAR16 *VariableName,
237 IN EFI_GUID *VendorGuid
242 IN CHAR16 *VariableName,
243 IN EFI_GUID *VendorGuid,
244 IN EFI_GUID *OwnerGuid,
245 IN UINTN X509DataSize,
251 IN CHAR16 *VariableName,
252 IN EFI_GUID *VendorGuid,
253 IN EFI_GUID *OwnerGuid,
254 IN UINTN X509DataSize,
256 OUT UINTN *DeletedCount
261 IN CHAR16 *VariableName,
262 IN EFI_GUID *VendorGuid,
263 IN EFI_GUID *OwnerGuid,
264 IN UINTN X509DataSize,
289 IN EFI_IPv4_ADDRESS *SubnetMask
295 OUT EFI_IPv4_ADDRESS *Ip
301 OUT EFI_IPv4_ADDRESS **PtrIpList,
EFI_STATUS LogInstalledCerts(IN CHAR16 *VariableName, IN EFI_GUID *VendorGuid)
OC_DMG_LOADING_SUPPORT gDmgLoading
EFI_STATUS Ip4Config2StrToIpList(IN CHAR16 *Str, OUT EFI_IPv4_ADDRESS **PtrIpList, OUT UINTN *IpCount)
EFI_STATUS AddRemoveStaticIPs(OC_FLEX_ARRAY *ParsedLoadOptions)
EFI_STATUS EnrollX509toVariable(IN CHAR16 *VariableName, IN EFI_GUID *VendorGuid, IN EFI_GUID *OwnerGuid, IN UINTN X509DataSize, IN VOID *X509Data)
EFI_STATUS DeleteCertsForOwner(IN CHAR16 *VariableName, IN EFI_GUID *VendorGuid, IN EFI_GUID *OwnerGuid, IN UINTN X509DataSize, IN VOID *X509Data, OUT UINTN *DeletedCount)
EFI_DEVICE_PATH_PROTOCOL * GetUriNode(EFI_DEVICE_PATH_PROTOCOL *DevicePath)
EFI_STATUS EFIAPI PxeBootCustomRead(IN OC_STORAGE_CONTEXT *Storage, IN OC_BOOT_ENTRY *ChosenEntry, OUT VOID **Data, OUT UINT32 *DataSize, OUT EFI_DEVICE_PATH_PROTOCOL **DevicePath, OUT EFI_HANDLE *StorageHandle, OUT EFI_DEVICE_PATH_PROTOCOL **StoragePath, IN OC_DMG_LOADING_SUPPORT DmgLoading, OUT OC_APPLE_DISK_IMAGE_PRELOAD_CONTEXT *DmgPreloadContext, OUT VOID **Context)
EFI_STATUS Ip4Config2ConvertOcConfigDataToNvData(IN CHAR16 *VarName, IN IP4_CONFIG2_OC_CONFIG_DATA *ConfigData)
BOOLEAN UriWasValidated(VOID)
EFI_STATUS(* VALIDATE_BOOT_DEVICE_PATH)(IN VOID *Context, IN EFI_DEVICE_PATH_PROTOCOL *Path)
EFI_STATUS EFIAPI HttpBootCustomRead(IN OC_STORAGE_CONTEXT *Storage, IN OC_BOOT_ENTRY *ChosenEntry, OUT VOID **Data, OUT UINT32 *DataSize, OUT EFI_DEVICE_PATH_PROTOCOL **DevicePath, OUT EFI_HANDLE *StorageHandle, OUT EFI_DEVICE_PATH_PROTOCOL **StoragePath, IN OC_DMG_LOADING_SUPPORT DmgLoading, OUT OC_APPLE_DISK_IMAGE_PRELOAD_CONTEXT *DmgPreloadContext, OUT VOID **Context)
CHAR16 * BmGetNetworkDescription(IN EFI_HANDLE Handle)
EFI_STATUS EFIAPI HttpBootCustomFree(IN VOID *Context)
EFI_DEVICE_PATH_PROTOCOL * BmExpandLoadFiles(IN EFI_DEVICE_PATH_PROTOCOL *FilePath, OUT VOID **Data, OUT UINT32 *DataSize, IN BOOLEAN ValidateHttp)
EFI_STATUS HttpBootAddUri(EFI_DEVICE_PATH_PROTOCOL *DevicePath, VOID *Uri, OC_STRING_FORMAT StringFormat, EFI_DEVICE_PATH_PROTOCOL **UriDevicePath)
EFI_STATUS Ip4Config2DeleteStaticIpNvData(IN CHAR16 *VarName)
EFI_EVENT MonitorHttpBootCallback(EFI_HANDLE LoadFileHandle)
BOOLEAN UriFileHasExtension(IN CHAR8 *Uri, IN CHAR8 *Ext)
BOOLEAN Ip4StationAddressValid(IN IP4_ADDR Ip, IN IP4_ADDR Netmask)
EFI_DEVICE_PATH_PROTOCOL * BmGetRamDiskDevicePath(IN EFI_DEVICE_PATH_PROTOCOL *FilePath)
VOID BmDestroyRamDisk(IN EFI_DEVICE_PATH_PROTOCOL *RamDiskDevicePath)
EFI_STATUS CertIsPresent(IN CHAR16 *VariableName, IN EFI_GUID *VendorGuid, IN EFI_GUID *OwnerGuid, IN UINTN X509DataSize, IN VOID *X509Data)
BOOLEAN HasHttpsUri(CHAR16 *Uri)
UINT8 GetSubnetMaskPrefixLength(IN EFI_IPv4_ADDRESS *SubnetMask)
EFI_STATUS Ip4Config2StrToIp(IN CHAR16 *Str, OUT EFI_IPv4_ADDRESS *Ip)
EFI_STATUS ExtractOtherUriFromDevicePath(IN EFI_DEVICE_PATH_PROTOCOL *DevicePath, IN CHAR8 *FromExt, IN CHAR8 *ToExt, OUT CHAR8 **OtherUri, IN BOOLEAN OnlySearchForFromExt)
DMG_FILEPATH_DEVICE_PATH FilePath
enum _OC_STRING_FORMAT OC_STRING_FORMAT
APPLE_EVENT_HANDLE Handle
EFI_IP4_CONFIG2_DATA_TYPE DataType