]> git.proxmox.com Git - mirror_edk2.git/blobdiff - NetworkPkg/HttpBootDxe/HttpBootClient.h
NetworkPkg/HttpBootDxe: Add HTTP Boot Callback protocol support.
[mirror_edk2.git] / NetworkPkg / HttpBootDxe / HttpBootClient.h
index 2dfafab93681de84b59f329004d118a802fab7fc..dd58719b40797a33546d8f24c367189374e1ae51 100644 (file)
@@ -1,7 +1,8 @@
 /** @file\r
   Declaration of the boot file download function.\r
 \r
-Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>\r
+(C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>\r
 This program and the accompanying materials are licensed and made available under \r
 the terms and conditions of the BSD License that accompanies this distribution.  \r
 The full text of the license may be found at\r
@@ -16,11 +17,9 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #define __EFI_HTTP_BOOT_HTTP_H__\r
 \r
 #define HTTP_BOOT_REQUEST_TIMEOUT            5000      // 5 seconds in uints of millisecond.\r
-#define HTTP_BOOT_BLOCK_SIZE                 1024\r
+#define HTTP_BOOT_RESPONSE_TIMEOUT           5000      // 5 seconds in uints of millisecond.\r
+#define HTTP_BOOT_BLOCK_SIZE                 1500\r
 \r
-#define HTTP_FIELD_NAME_USER_AGENT           "User-Agent"\r
-#define HTTP_FIELD_NAME_HOST                 "Host"\r
-#define HTTP_FIELD_NAME_ACCEPT               "Accept"\r
 \r
 \r
 #define HTTP_USER_AGENT_EFI_HTTP_BOOT        "UefiHttpBoot/1.0"\r
@@ -41,7 +40,8 @@ typedef struct {
 typedef struct {\r
   LIST_ENTRY                 Link;            // Link to the CacheList in driver's private data.\r
   EFI_HTTP_REQUEST_DATA      *RequestData;\r
-  HTTP_IO_RESOPNSE_DATA      *ResponseData;   // Not include any message-body data.\r
+  HTTP_IO_RESPONSE_DATA      *ResponseData;   // Not include any message-body data.\r
+  HTTP_BOOT_IMAGE_TYPE       ImageType;\r
   UINTN                      EntityLength;\r
   LIST_ENTRY                 EntityDataList;  // Entity data (message-body)\r
 } HTTP_BOOT_CACHE_CONTENT;\r
@@ -64,6 +64,8 @@ typedef struct {
   UINTN                      CopyedSize;\r
   UINTN                      BufferSize;\r
   UINT8                      *Buffer;\r
+\r
+  HTTP_BOOT_PRIVATE_DATA     *Private;\r
 } HTTP_BOOT_CALLBACK_DATA;\r
 \r
 /**\r
@@ -107,6 +109,7 @@ HttpBootCreateHttpIo (
   @param[out]      Buffer          The memory buffer to transfer the file to. IF Buffer is NULL,\r
                                    then the size of the requested file is returned in\r
                                    BufferSize.\r
+  @param[out]      ImageType       The image type of the downloaded file.\r
 \r
   @retval EFI_SUCCESS              The file was loaded.\r
   @retval EFI_INVALID_PARAMETER    BufferSize is NULL or Buffer Size is not NULL but Buffer is NULL.\r
@@ -122,7 +125,8 @@ HttpBootGetBootFile (
   IN     HTTP_BOOT_PRIVATE_DATA   *Private,\r
   IN     BOOLEAN                  HeaderOnly,\r
   IN OUT UINTN                    *BufferSize,\r
-     OUT UINT8                    *Buffer\r
+     OUT UINT8                    *Buffer,\r
+     OUT HTTP_BOOT_IMAGE_TYPE     *ImageType\r
   );\r
 \r
 /**\r