diff options
author | Fu Siyuan <siyuan.fu@intel.com> | 2016-03-22 13:30:58 +0800 |
---|---|---|
committer | Fu Siyuan <siyuan.fu@intel.com> | 2016-04-11 09:49:05 +0800 |
commit | 587d204ccda4b507be4f9f42e8c9d226fd755be0 (patch) | |
tree | 56f5d7668645348a3f4ec16055df3e84db72452f /NetworkPkg/HttpBootDxe/HttpBootClient.h | |
parent | 64ee6ed72ad5c1e4b7c9a96f419c3592e93314ad (diff) | |
download | edk2-587d204ccda4b507be4f9f42e8c9d226fd755be0.zip edk2-587d204ccda4b507be4f9f42e8c9d226fd755be0.tar.gz edk2-587d204ccda4b507be4f9f42e8c9d226fd755be0.tar.bz2 |
NetworkPkg: Add RAM disk boot support to HTTP Boot driver.
This patch updates the HTTP Boot driver to support the download and boot
a RAM disk image from HTTP server.
The HTTP RAM disk boot is described in section 23.7 "HTTP Boot" in
UEFI 2.6. HTTP server could provide either an UEFI image or a RAM disk image
for the HTTP boot client to use. The RAM disk image must contain a UEFI
compliant file system in it.
HTTP boot driver will identify the image type either by the "Content-Type"
entity header filed or by the file name extension as below:
"application/efi" or *.efi -> EFI Image
*.iso -> CD/DVD Image
*.img -> Virtual Disk Image
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: Ye Ting <ting.ye@intel.com>
Reviewed-by: El-Haj-Mahmoud Samer <samer.el-haj-mahmoud@hpe.com>
Diffstat (limited to 'NetworkPkg/HttpBootDxe/HttpBootClient.h')
-rw-r--r-- | NetworkPkg/HttpBootDxe/HttpBootClient.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/NetworkPkg/HttpBootDxe/HttpBootClient.h b/NetworkPkg/HttpBootDxe/HttpBootClient.h index b929fa7..2fd7dfc 100644 --- a/NetworkPkg/HttpBootDxe/HttpBootClient.h +++ b/NetworkPkg/HttpBootDxe/HttpBootClient.h @@ -40,6 +40,7 @@ typedef struct { LIST_ENTRY Link; // Link to the CacheList in driver's private data.
EFI_HTTP_REQUEST_DATA *RequestData;
HTTP_IO_RESPONSE_DATA *ResponseData; // Not include any message-body data.
+ HTTP_BOOT_IMAGE_TYPE ImageType;
UINTN EntityLength;
LIST_ENTRY EntityDataList; // Entity data (message-body)
} HTTP_BOOT_CACHE_CONTENT;
@@ -105,6 +106,7 @@ HttpBootCreateHttpIo ( @param[out] Buffer The memory buffer to transfer the file to. IF Buffer is NULL,
then the size of the requested file is returned in
BufferSize.
+ @param[out] ImageType The image type of the downloaded file.
@retval EFI_SUCCESS The file was loaded.
@retval EFI_INVALID_PARAMETER BufferSize is NULL or Buffer Size is not NULL but Buffer is NULL.
@@ -120,7 +122,8 @@ HttpBootGetBootFile ( IN HTTP_BOOT_PRIVATE_DATA *Private,
IN BOOLEAN HeaderOnly,
IN OUT UINTN *BufferSize,
- OUT UINT8 *Buffer
+ OUT UINT8 *Buffer,
+ OUT HTTP_BOOT_IMAGE_TYPE *ImageType
);
/**
|