10#ifndef __EFI_HTTP_BOOT_DXE_H__
11#define __EFI_HTTP_BOOT_DXE_H__
72#define HTTP_BOOT_DXE_VERSION 0xa
78#define HTTP_CONTENT_TYPE_APP_EFI "application/efi"
79#define HTTP_CONTENT_TYPE_APP_IMG "application/vnd.efi-img"
80#define HTTP_CONTENT_TYPE_APP_ISO "application/vnd.efi-iso"
100} HTTP_BOOT_IMAGE_TYPE;
127#define HTTP_BOOT_PRIVATE_DATA_FROM_CALLBACK_INFO(Callback) \
130 HTTP_BOOT_PRIVATE_DATA, \
132 HTTP_BOOT_PRIVATE_DATA_SIGNATURE \
135#define HTTP_BOOT_PRIVATE_DATA_FROM_CALLBACK_PROTOCOL(CallbackProtocol) \
138 HTTP_BOOT_PRIVATE_DATA, \
140 HTTP_BOOT_PRIVATE_DATA_SIGNATURE \
207 UINT32 DnsServerCount;
215 VOID *BootFileUriParser;
217 UINTN PartialTransferredSize;
218 CHAR8 *LastModifiedOrEtag;
220 HTTP_BOOT_IMAGE_TYPE ImageType;
226 VOID *FilePathUriParser;
263 UINT32 SelectProxyType;
266 UINT32 OfferCount[HttpOfferTypeMax];
267 UINT32 OfferIndex[HttpOfferTypeMax][HTTP_BOOT_OFFER_MAX_NUM];
270#define HTTP_BOOT_PRIVATE_DATA_SIGNATURE SIGNATURE_32 ('H', 'B', 'P', 'D')
271#define HTTP_BOOT_VIRTUAL_NIC_SIGNATURE SIGNATURE_32 ('H', 'B', 'V', 'N')
272#define HTTP_BOOT_PRIVATE_DATA_FROM_LOADFILE(a) CR (a, HTTP_BOOT_PRIVATE_DATA, LoadFile, HTTP_BOOT_PRIVATE_DATA_SIGNATURE)
273#define HTTP_BOOT_PRIVATE_DATA_FROM_ID(a) CR (a, HTTP_BOOT_PRIVATE_DATA, Id, HTTP_BOOT_PRIVATE_DATA_SIGNATURE)
274#define HTTP_BOOT_VIRTUAL_NIC_FROM_LOADFILE(a) CR (a, HTTP_BOOT_VIRTUAL_NIC, LoadFile, HTTP_BOOT_VIRTUAL_NIC_SIGNATURE)
EFI_STATUS EFIAPI HttpBootIp6DxeDriverBindingStop(IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN UINTN NumberOfChildren, IN EFI_HANDLE *ChildHandleBuffer OPTIONAL)
EFI_STATUS EFIAPI HttpBootIp4DxeDriverBindingStop(IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN UINTN NumberOfChildren, IN EFI_HANDLE *ChildHandleBuffer OPTIONAL)
EFI_STATUS EFIAPI HttpBootIp4DxeDriverBindingSupported(IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL)
EFI_STATUS EFIAPI HttpBootIp6DxeDriverBindingSupported(IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL)
EFI_LOAD_FILE_PROTOCOL gHttpBootDxeLoadFile
EFI_COMPONENT_NAME2_PROTOCOL gHttpBootDxeComponentName2
EFI_STATUS EFIAPI HttpBootIp4DxeDriverBindingStart(IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL)
EFI_COMPONENT_NAME_PROTOCOL gHttpBootDxeComponentName
EFI_STATUS EFIAPI HttpBootIp6DxeDriverBindingStart(IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL)