**/\r
EFI_STATUS\r
HttpBootUpdateDevicePath (\r
- IN HTTP_BOOT_PRIVATE_DATA *Private\r
+ IN HTTP_BOOT_PRIVATE_DATA *Private\r
)\r
{\r
- EFI_DEV_PATH *Node;\r
- EFI_DEVICE_PATH_PROTOCOL *TmpIpDevicePath;\r
- EFI_DEVICE_PATH_PROTOCOL *TmpDnsDevicePath;\r
- EFI_DEVICE_PATH_PROTOCOL *NewDevicePath;\r
- UINTN Length;\r
- EFI_STATUS Status;\r
+ EFI_DEV_PATH *Node;\r
+ EFI_DEVICE_PATH_PROTOCOL *TmpIpDevicePath;\r
+ EFI_DEVICE_PATH_PROTOCOL *TmpDnsDevicePath;\r
+ EFI_DEVICE_PATH_PROTOCOL *NewDevicePath;\r
+ UINTN Length;\r
+ EFI_STATUS Status;\r
\r
TmpIpDevicePath = NULL;\r
TmpDnsDevicePath = NULL;\r
if (Node == NULL) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
+\r
Node->Ipv4.Header.Type = MESSAGING_DEVICE_PATH;\r
Node->Ipv4.Header.SubType = MSG_IPv4_DP;\r
SetDevicePathNodeLength (Node, sizeof (IPv4_DEVICE_PATH));\r
if (Node == NULL) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
- Node->Ipv6.Header.Type = MESSAGING_DEVICE_PATH;\r
- Node->Ipv6.Header.SubType = MSG_IPv6_DP;\r
+\r
+ Node->Ipv6.Header.Type = MESSAGING_DEVICE_PATH;\r
+ Node->Ipv6.Header.SubType = MSG_IPv6_DP;\r
SetDevicePathNodeLength (Node, sizeof (IPv6_DEVICE_PATH));\r
Node->Ipv6.PrefixLength = IP6_PREFIX_LENGTH;\r
Node->Ipv6.RemotePort = Private->Port;\r
CopyMem (&Node->Ipv6.GatewayIpAddress, &Private->GatewayIp.v6, sizeof (EFI_IPv6_ADDRESS));\r
}\r
\r
- TmpIpDevicePath = AppendDevicePathNode (Private->ParentDevicePath, (EFI_DEVICE_PATH_PROTOCOL*) Node);\r
+ TmpIpDevicePath = AppendDevicePathNode (Private->ParentDevicePath, (EFI_DEVICE_PATH_PROTOCOL *)Node);\r
FreePool (Node);\r
if (TmpIpDevicePath == NULL) {\r
return EFI_OUT_OF_RESOURCES;\r
//\r
if (Private->DnsServerIp != NULL) {\r
Length = sizeof (EFI_DEVICE_PATH_PROTOCOL) + sizeof (Node->Dns.IsIPv6) + Private->DnsServerCount * sizeof (EFI_IP_ADDRESS);\r
- Node = AllocatePool (Length);\r
+ Node = AllocatePool (Length);\r
if (Node == NULL) {\r
FreePool (TmpIpDevicePath);\r
return EFI_OUT_OF_RESOURCES;\r
}\r
+\r
Node->DevPath.Type = MESSAGING_DEVICE_PATH;\r
Node->DevPath.SubType = MSG_DNS_DP;\r
SetDevicePathNodeLength (Node, Length);\r
Node->Dns.IsIPv6 = Private->UsingIpv6 ? 0x01 : 0x00;\r
- CopyMem ((UINT8*) Node + sizeof (EFI_DEVICE_PATH_PROTOCOL) + sizeof (Node->Dns.IsIPv6), Private->DnsServerIp, Private->DnsServerCount * sizeof (EFI_IP_ADDRESS));\r
+ CopyMem ((UINT8 *)Node + sizeof (EFI_DEVICE_PATH_PROTOCOL) + sizeof (Node->Dns.IsIPv6), Private->DnsServerIp, Private->DnsServerCount * sizeof (EFI_IP_ADDRESS));\r
\r
- TmpDnsDevicePath = AppendDevicePathNode (TmpIpDevicePath, (EFI_DEVICE_PATH_PROTOCOL*) Node);\r
+ TmpDnsDevicePath = AppendDevicePathNode (TmpIpDevicePath, (EFI_DEVICE_PATH_PROTOCOL *)Node);\r
FreePool (Node);\r
FreePool (TmpIpDevicePath);\r
TmpIpDevicePath = NULL;\r
// Update the URI node with the boot file URI.\r
//\r
Length = sizeof (EFI_DEVICE_PATH_PROTOCOL) + AsciiStrSize (Private->BootFileUri);\r
- Node = AllocatePool (Length);\r
+ Node = AllocatePool (Length);\r
if (Node == NULL) {\r
if (TmpIpDevicePath != NULL) {\r
FreePool (TmpIpDevicePath);\r
}\r
+\r
if (TmpDnsDevicePath != NULL) {\r
FreePool (TmpDnsDevicePath);\r
}\r
+\r
return EFI_OUT_OF_RESOURCES;\r
}\r
+\r
Node->DevPath.Type = MESSAGING_DEVICE_PATH;\r
Node->DevPath.SubType = MSG_URI_DP;\r
SetDevicePathNodeLength (Node, Length);\r
- CopyMem ((UINT8*) Node + sizeof (EFI_DEVICE_PATH_PROTOCOL), Private->BootFileUri, AsciiStrSize (Private->BootFileUri));\r
+ CopyMem ((UINT8 *)Node + sizeof (EFI_DEVICE_PATH_PROTOCOL), Private->BootFileUri, AsciiStrSize (Private->BootFileUri));\r
\r
if (TmpDnsDevicePath != NULL) {\r
- NewDevicePath = AppendDevicePathNode (TmpDnsDevicePath, (EFI_DEVICE_PATH_PROTOCOL*) Node);\r
+ NewDevicePath = AppendDevicePathNode (TmpDnsDevicePath, (EFI_DEVICE_PATH_PROTOCOL *)Node);\r
FreePool (TmpDnsDevicePath);\r
} else {\r
ASSERT (TmpIpDevicePath != NULL);\r
- NewDevicePath = AppendDevicePathNode (TmpIpDevicePath, (EFI_DEVICE_PATH_PROTOCOL*) Node);\r
+ NewDevicePath = AppendDevicePathNode (TmpIpDevicePath, (EFI_DEVICE_PATH_PROTOCOL *)Node);\r
FreePool (TmpIpDevicePath);\r
}\r
+\r
FreePool (Node);\r
if (NewDevicePath == NULL) {\r
return EFI_OUT_OF_RESOURCES;\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
+\r
FreePool (Private->Ip6Nic->DevicePath);\r
Private->Ip6Nic->DevicePath = NewDevicePath;\r
}\r
**/\r
EFI_STATUS\r
HttpBootDhcp4ExtractUriInfo (\r
- IN HTTP_BOOT_PRIVATE_DATA *Private\r
+ IN HTTP_BOOT_PRIVATE_DATA *Private\r
)\r
{\r
- HTTP_BOOT_DHCP4_PACKET_CACHE *SelectOffer;\r
- HTTP_BOOT_DHCP4_PACKET_CACHE *HttpOffer;\r
- UINT32 SelectIndex;\r
- UINT32 ProxyIndex;\r
- UINT32 DnsServerIndex;\r
- EFI_DHCP4_PACKET_OPTION *Option;\r
- EFI_STATUS Status;\r
+ HTTP_BOOT_DHCP4_PACKET_CACHE *SelectOffer;\r
+ HTTP_BOOT_DHCP4_PACKET_CACHE *HttpOffer;\r
+ UINT32 SelectIndex;\r
+ UINT32 ProxyIndex;\r
+ UINT32 DnsServerIndex;\r
+ EFI_DHCP4_PACKET_OPTION *Option;\r
+ EFI_STATUS Status;\r
\r
ASSERT (Private != NULL);\r
ASSERT (Private->SelectIndex != 0);\r
//\r
if ((SelectOffer->OfferType == HttpOfferTypeDhcpIpUri) ||\r
(SelectOffer->OfferType == HttpOfferTypeDhcpIpUriDns) ||\r
- (SelectOffer->OfferType == HttpOfferTypeDhcpNameUriDns)) {\r
+ (SelectOffer->OfferType == HttpOfferTypeDhcpNameUriDns))\r
+ {\r
HttpOffer = SelectOffer;\r
} else {\r
ASSERT (Private->SelectProxyType != HttpOfferTypeMax);\r
ProxyIndex = Private->OfferIndex[Private->SelectProxyType][0];\r
- HttpOffer = &Private->OfferBuffer[ProxyIndex].Dhcp4;\r
+ HttpOffer = &Private->OfferBuffer[ProxyIndex].Dhcp4;\r
}\r
+\r
Private->BootFileUriParser = HttpOffer->UriParser;\r
- Private->BootFileUri = (CHAR8*) HttpOffer->OptList[HTTP_BOOT_DHCP4_TAG_INDEX_BOOTFILE]->Data;\r
+ Private->BootFileUri = (CHAR8 *)HttpOffer->OptList[HTTP_BOOT_DHCP4_TAG_INDEX_BOOTFILE]->Data;\r
} else {\r
//\r
// In Home environment the BootFileUri comes from the FilePath.\r
//\r
Private->BootFileUriParser = Private->FilePathUriParser;\r
- Private->BootFileUri = Private->FilePathUri;\r
+ Private->BootFileUri = Private->FilePathUri;\r
}\r
\r
//\r
} else if (Status == EFI_ACCESS_DENIED) {\r
AsciiPrint ("\n Error: Access forbidden, only HTTPS connection is allowed.\n");\r
}\r
+\r
return Status;\r
}\r
\r
if ((SelectOffer->OfferType == HttpOfferTypeDhcpNameUriDns) ||\r
(SelectOffer->OfferType == HttpOfferTypeDhcpDns) ||\r
- (SelectOffer->OfferType == HttpOfferTypeDhcpIpUriDns)) {\r
+ (SelectOffer->OfferType == HttpOfferTypeDhcpIpUriDns))\r
+ {\r
Option = SelectOffer->OptList[HTTP_BOOT_DHCP4_TAG_INDEX_DNS_SERVER];\r
ASSERT (Option != NULL);\r
\r
}\r
\r
for (DnsServerIndex = 0; DnsServerIndex < Private->DnsServerCount; DnsServerIndex++) {\r
- CopyMem (&(Private->DnsServerIp[DnsServerIndex].v4), &(((EFI_IPv4_ADDRESS *) Option->Data)[DnsServerIndex]), sizeof (EFI_IPv4_ADDRESS));\r
+ CopyMem (&(Private->DnsServerIp[DnsServerIndex].v4), &(((EFI_IPv4_ADDRESS *)Option->Data)[DnsServerIndex]), sizeof (EFI_IPv4_ADDRESS));\r
}\r
\r
//\r
Private->BootFileUriParser,\r
&Private->Port\r
);\r
- if (EFI_ERROR (Status) || Private->Port == 0) {\r
+ if (EFI_ERROR (Status) || (Private->Port == 0)) {\r
Private->Port = 80;\r
}\r
\r
// Update the device path to include the boot resource information.\r
//\r
Status = HttpBootUpdateDevicePath (Private);\r
- if (EFI_ERROR (Status) && Private->DnsServerIp != NULL) {\r
+ if (EFI_ERROR (Status) && (Private->DnsServerIp != NULL)) {\r
FreePool (Private->DnsServerIp);\r
Private->DnsServerIp = NULL;\r
}\r
**/\r
EFI_STATUS\r
HttpBootDhcp6ExtractUriInfo (\r
- IN HTTP_BOOT_PRIVATE_DATA *Private\r
+ IN HTTP_BOOT_PRIVATE_DATA *Private\r
)\r
{\r
- HTTP_BOOT_DHCP6_PACKET_CACHE *SelectOffer;\r
- HTTP_BOOT_DHCP6_PACKET_CACHE *HttpOffer;\r
- UINT32 SelectIndex;\r
- UINT32 ProxyIndex;\r
- UINT32 DnsServerIndex;\r
- EFI_DHCP6_PACKET_OPTION *Option;\r
- EFI_IPv6_ADDRESS IpAddr;\r
- CHAR8 *HostName;\r
- UINTN HostNameSize;\r
- CHAR16 *HostNameStr;\r
- EFI_STATUS Status;\r
+ HTTP_BOOT_DHCP6_PACKET_CACHE *SelectOffer;\r
+ HTTP_BOOT_DHCP6_PACKET_CACHE *HttpOffer;\r
+ UINT32 SelectIndex;\r
+ UINT32 ProxyIndex;\r
+ UINT32 DnsServerIndex;\r
+ EFI_DHCP6_PACKET_OPTION *Option;\r
+ EFI_IPv6_ADDRESS IpAddr;\r
+ CHAR8 *HostName;\r
+ UINTN HostNameSize;\r
+ CHAR16 *HostNameStr;\r
+ EFI_STATUS Status;\r
\r
ASSERT (Private != NULL);\r
ASSERT (Private->SelectIndex != 0);\r
//\r
if ((SelectOffer->OfferType == HttpOfferTypeDhcpIpUri) ||\r
(SelectOffer->OfferType == HttpOfferTypeDhcpIpUriDns) ||\r
- (SelectOffer->OfferType == HttpOfferTypeDhcpNameUriDns)) {\r
+ (SelectOffer->OfferType == HttpOfferTypeDhcpNameUriDns))\r
+ {\r
HttpOffer = SelectOffer;\r
} else {\r
ASSERT (Private->SelectProxyType != HttpOfferTypeMax);\r
ProxyIndex = Private->OfferIndex[Private->SelectProxyType][0];\r
- HttpOffer = &Private->OfferBuffer[ProxyIndex].Dhcp6;\r
+ HttpOffer = &Private->OfferBuffer[ProxyIndex].Dhcp6;\r
}\r
+\r
Private->BootFileUriParser = HttpOffer->UriParser;\r
- Private->BootFileUri = (CHAR8*) HttpOffer->OptList[HTTP_BOOT_DHCP6_IDX_BOOT_FILE_URL]->Data;\r
+ Private->BootFileUri = (CHAR8 *)HttpOffer->OptList[HTTP_BOOT_DHCP6_IDX_BOOT_FILE_URL]->Data;\r
} else {\r
//\r
// In Home environment the BootFileUri comes from the FilePath.\r
//\r
Private->BootFileUriParser = Private->FilePathUriParser;\r
- Private->BootFileUri = Private->FilePathUri;\r
+ Private->BootFileUri = Private->FilePathUri;\r
}\r
\r
//\r
} else if (Status == EFI_ACCESS_DENIED) {\r
AsciiPrint ("\n Error: Access forbidden, only HTTPS connection is allowed.\n");\r
}\r
+\r
return Status;\r
}\r
\r
\r
if ((SelectOffer->OfferType == HttpOfferTypeDhcpNameUriDns) ||\r
(SelectOffer->OfferType == HttpOfferTypeDhcpDns) ||\r
- (SelectOffer->OfferType == HttpOfferTypeDhcpIpUriDns)) {\r
+ (SelectOffer->OfferType == HttpOfferTypeDhcpIpUriDns))\r
+ {\r
Option = SelectOffer->OptList[HTTP_BOOT_DHCP6_IDX_DNS_SERVER];\r
ASSERT (Option != NULL);\r
\r
}\r
\r
for (DnsServerIndex = 0; DnsServerIndex < Private->DnsServerCount; DnsServerIndex++) {\r
- CopyMem (&(Private->DnsServerIp[DnsServerIndex].v6), &(((EFI_IPv6_ADDRESS *) Option->Data)[DnsServerIndex]), sizeof (EFI_IPv6_ADDRESS));\r
+ CopyMem (&(Private->DnsServerIp[DnsServerIndex].v6), &(((EFI_IPv6_ADDRESS *)Option->Data)[DnsServerIndex]), sizeof (EFI_IPv6_ADDRESS));\r
}\r
\r
//\r
}\r
\r
HostNameSize = AsciiStrSize (HostName);\r
- HostNameStr = AllocateZeroPool (HostNameSize * sizeof (CHAR16));\r
+ HostNameStr = AllocateZeroPool (HostNameSize * sizeof (CHAR16));\r
if (HostNameStr == NULL) {\r
Status = EFI_OUT_OF_RESOURCES;\r
goto Error;\r
Private->BootFileUriParser,\r
&Private->Port\r
);\r
- if (EFI_ERROR (Status) || Private->Port == 0) {\r
+ if (EFI_ERROR (Status) || (Private->Port == 0)) {\r
Private->Port = 80;\r
}\r
\r
return Status;\r
}\r
\r
-\r
/**\r
Discover all the boot information for boot file.\r
\r
**/\r
EFI_STATUS\r
HttpBootDiscoverBootInfo (\r
- IN OUT HTTP_BOOT_PRIVATE_DATA *Private\r
+ IN OUT HTTP_BOOT_PRIVATE_DATA *Private\r
)\r
{\r
- EFI_STATUS Status;\r
+ EFI_STATUS Status;\r
\r
//\r
// Start D.O.R.A/S.A.R.R exchange to acquire station ip address and\r
EFI_STATUS\r
EFIAPI\r
HttpBootHttpIoCallback (\r
- IN HTTP_IO_CALLBACK_EVENT EventType,\r
- IN EFI_HTTP_MESSAGE *Message,\r
- IN VOID *Context\r
+ IN HTTP_IO_CALLBACK_EVENT EventType,\r
+ IN EFI_HTTP_MESSAGE *Message,\r
+ IN VOID *Context\r
)\r
{\r
- HTTP_BOOT_PRIVATE_DATA *Private;\r
- EFI_STATUS Status;\r
- Private = (HTTP_BOOT_PRIVATE_DATA *) Context;\r
+ HTTP_BOOT_PRIVATE_DATA *Private;\r
+ EFI_STATUS Status;\r
+\r
+ Private = (HTTP_BOOT_PRIVATE_DATA *)Context;\r
if (Private->HttpBootCallback != NULL) {\r
Status = Private->HttpBootCallback->Callback (\r
- Private->HttpBootCallback,\r
- EventType == HttpIoRequest ? HttpBootHttpRequest : HttpBootHttpResponse,\r
- EventType == HttpIoRequest ? FALSE : TRUE,\r
- sizeof (EFI_HTTP_MESSAGE),\r
- (VOID *) Message\r
- );\r
+ Private->HttpBootCallback,\r
+ EventType == HttpIoRequest ? HttpBootHttpRequest : HttpBootHttpResponse,\r
+ EventType == HttpIoRequest ? FALSE : TRUE,\r
+ sizeof (EFI_HTTP_MESSAGE),\r
+ (VOID *)Message\r
+ );\r
return Status;\r
}\r
+\r
return EFI_SUCCESS;\r
}\r
\r
**/\r
EFI_STATUS\r
HttpBootCreateHttpIo (\r
- IN HTTP_BOOT_PRIVATE_DATA *Private\r
+ IN HTTP_BOOT_PRIVATE_DATA *Private\r
)\r
{\r
- HTTP_IO_CONFIG_DATA ConfigData;\r
- EFI_STATUS Status;\r
- EFI_HANDLE ImageHandle;\r
- UINT32 TimeoutValue;\r
+ HTTP_IO_CONFIG_DATA ConfigData;\r
+ EFI_STATUS Status;\r
+ EFI_HANDLE ImageHandle;\r
+ UINT32 TimeoutValue;\r
\r
ASSERT (Private != NULL);\r
\r
Private->UsingIpv6 ? IP_VERSION_6 : IP_VERSION_4,\r
&ConfigData,\r
HttpBootHttpIoCallback,\r
- (VOID *) Private,\r
+ (VOID *)Private,\r
&Private->HttpIo\r
);\r
if (EFI_ERROR (Status)) {\r
**/\r
VOID\r
HttpBootFreeCache (\r
- IN HTTP_BOOT_CACHE_CONTENT *Cache\r
+ IN HTTP_BOOT_CACHE_CONTENT *Cache\r
)\r
{\r
- UINTN Index;\r
- LIST_ENTRY *Entry;\r
- LIST_ENTRY *NextEntry;\r
- HTTP_BOOT_ENTITY_DATA *EntityData;\r
+ UINTN Index;\r
+ LIST_ENTRY *Entry;\r
+ LIST_ENTRY *NextEntry;\r
+ HTTP_BOOT_ENTITY_DATA *EntityData;\r
\r
if (Cache != NULL) {\r
//\r
if (Cache->RequestData->Url != NULL) {\r
FreePool (Cache->RequestData->Url);\r
}\r
+\r
FreePool (Cache->RequestData);\r
}\r
\r
FreePool (Cache->ResponseData->Headers[Index].FieldName);\r
FreePool (Cache->ResponseData->Headers[Index].FieldValue);\r
}\r
+\r
FreePool (Cache->ResponseData->Headers);\r
}\r
}\r
if (EntityData->Block != NULL) {\r
FreePool (EntityData->Block);\r
}\r
+\r
RemoveEntryList (&EntityData->Link);\r
FreePool (EntityData);\r
}\r
**/\r
VOID\r
HttpBootFreeCacheList (\r
- IN HTTP_BOOT_PRIVATE_DATA *Private\r
+ IN HTTP_BOOT_PRIVATE_DATA *Private\r
)\r
{\r
- LIST_ENTRY *Entry;\r
- LIST_ENTRY *NextEntry;\r
- HTTP_BOOT_CACHE_CONTENT *Cache;\r
+ LIST_ENTRY *Entry;\r
+ LIST_ENTRY *NextEntry;\r
+ HTTP_BOOT_CACHE_CONTENT *Cache;\r
\r
NET_LIST_FOR_EACH_SAFE (Entry, NextEntry, &Private->CacheList) {\r
Cache = NET_LIST_USER_STRUCT (Entry, HTTP_BOOT_CACHE_CONTENT, Link);\r
**/\r
EFI_STATUS\r
HttpBootGetFileFromCache (\r
- IN HTTP_BOOT_PRIVATE_DATA *Private,\r
- IN CHAR16 *Uri,\r
- IN OUT UINTN *BufferSize,\r
- OUT UINT8 *Buffer,\r
- OUT HTTP_BOOT_IMAGE_TYPE *ImageType\r
+ IN HTTP_BOOT_PRIVATE_DATA *Private,\r
+ IN CHAR16 *Uri,\r
+ IN OUT UINTN *BufferSize,\r
+ OUT UINT8 *Buffer,\r
+ OUT HTTP_BOOT_IMAGE_TYPE *ImageType\r
)\r
{\r
- LIST_ENTRY *Entry;\r
- LIST_ENTRY *Entry2;\r
- HTTP_BOOT_CACHE_CONTENT *Cache;\r
- HTTP_BOOT_ENTITY_DATA *EntityData;\r
- UINTN CopyedSize;\r
+ LIST_ENTRY *Entry;\r
+ LIST_ENTRY *Entry2;\r
+ HTTP_BOOT_CACHE_CONTENT *Cache;\r
+ HTTP_BOOT_ENTITY_DATA *EntityData;\r
+ UINTN CopyedSize;\r
\r
- if (Uri == NULL || BufferSize == NULL || Buffer == NULL || ImageType == NULL) {\r
+ if ((Uri == NULL) || (BufferSize == NULL) || (Buffer == NULL) || (ImageType == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
//\r
if ((Cache->RequestData != NULL) &&\r
(Cache->RequestData->Url != NULL) &&\r
- (StrCmp (Uri, Cache->RequestData->Url) == 0)) {\r
+ (StrCmp (Uri, Cache->RequestData->Url) == 0))\r
+ {\r
//\r
// Hit in cache, record image type.\r
//\r
- *ImageType = Cache->ImageType;\r
+ *ImageType = Cache->ImageType;\r
\r
//\r
// Check buffer size.\r
EFI_STATUS\r
EFIAPI\r
HttpBootGetBootFileCallback (\r
- IN HTTP_BODY_PARSE_EVENT EventType,\r
- IN CHAR8 *Data,\r
- IN UINTN Length,\r
- IN VOID *Context\r
+ IN HTTP_BODY_PARSE_EVENT EventType,\r
+ IN CHAR8 *Data,\r
+ IN UINTN Length,\r
+ IN VOID *Context\r
)\r
{\r
- HTTP_BOOT_CALLBACK_DATA *CallbackData;\r
- HTTP_BOOT_ENTITY_DATA *NewEntityData;\r
- EFI_STATUS Status;\r
- EFI_HTTP_BOOT_CALLBACK_PROTOCOL *HttpBootCallback;\r
+ HTTP_BOOT_CALLBACK_DATA *CallbackData;\r
+ HTTP_BOOT_ENTITY_DATA *NewEntityData;\r
+ EFI_STATUS Status;\r
+ EFI_HTTP_BOOT_CALLBACK_PROTOCOL *HttpBootCallback;\r
\r
//\r
// We only care about the entity data.\r
return EFI_SUCCESS;\r
}\r
\r
- CallbackData = (HTTP_BOOT_CALLBACK_DATA *) Context;\r
+ CallbackData = (HTTP_BOOT_CALLBACK_DATA *)Context;\r
HttpBootCallback = CallbackData->Private->HttpBootCallback;\r
if (HttpBootCallback != NULL) {\r
Status = HttpBootCallback->Callback (\r
- HttpBootCallback,\r
- HttpBootHttpEntityBody,\r
- TRUE,\r
- (UINT32)Length,\r
- Data\r
- );\r
+ HttpBootCallback,\r
+ HttpBootHttpEntityBody,\r
+ TRUE,\r
+ (UINT32)Length,\r
+ Data\r
+ );\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
}\r
+\r
//\r
// Copy data if caller has provided a buffer.\r
//\r
if (NewEntityData == NULL) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
+\r
if (CallbackData->NewBlock) {\r
NewEntityData->Block = CallbackData->Block;\r
- CallbackData->Block = NULL;\r
+ CallbackData->Block = NULL;\r
}\r
+\r
NewEntityData->DataLength = Length;\r
- NewEntityData->DataStart = (UINT8*) Data;\r
+ NewEntityData->DataStart = (UINT8 *)Data;\r
InsertTailList (&CallbackData->Cache->EntityDataList, &NewEntityData->Link);\r
}\r
+\r
return EFI_SUCCESS;\r
}\r
\r
**/\r
EFI_STATUS\r
HttpBootGetBootFile (\r
- IN HTTP_BOOT_PRIVATE_DATA *Private,\r
- IN BOOLEAN HeaderOnly,\r
- IN OUT UINTN *BufferSize,\r
- OUT UINT8 *Buffer,\r
- OUT HTTP_BOOT_IMAGE_TYPE *ImageType\r
+ IN HTTP_BOOT_PRIVATE_DATA *Private,\r
+ IN BOOLEAN HeaderOnly,\r
+ IN OUT UINTN *BufferSize,\r
+ OUT UINT8 *Buffer,\r
+ OUT HTTP_BOOT_IMAGE_TYPE *ImageType\r
)\r
{\r
- EFI_STATUS Status;\r
- EFI_HTTP_STATUS_CODE StatusCode;\r
- CHAR8 *HostName;\r
- EFI_HTTP_REQUEST_DATA *RequestData;\r
- HTTP_IO_RESPONSE_DATA *ResponseData;\r
- HTTP_IO_RESPONSE_DATA ResponseBody;\r
- HTTP_IO *HttpIo;\r
- HTTP_IO_HEADER *HttpIoHeader;\r
- VOID *Parser;\r
- HTTP_BOOT_CALLBACK_DATA Context;\r
- UINTN ContentLength;\r
- HTTP_BOOT_CACHE_CONTENT *Cache;\r
- UINT8 *Block;\r
- UINTN UrlSize;\r
- CHAR16 *Url;\r
- BOOLEAN IdentityMode;\r
- UINTN ReceivedSize;\r
+ EFI_STATUS Status;\r
+ EFI_HTTP_STATUS_CODE StatusCode;\r
+ CHAR8 *HostName;\r
+ EFI_HTTP_REQUEST_DATA *RequestData;\r
+ HTTP_IO_RESPONSE_DATA *ResponseData;\r
+ HTTP_IO_RESPONSE_DATA ResponseBody;\r
+ HTTP_IO *HttpIo;\r
+ HTTP_IO_HEADER *HttpIoHeader;\r
+ VOID *Parser;\r
+ HTTP_BOOT_CALLBACK_DATA Context;\r
+ UINTN ContentLength;\r
+ HTTP_BOOT_CACHE_CONTENT *Cache;\r
+ UINT8 *Block;\r
+ UINTN UrlSize;\r
+ CHAR16 *Url;\r
+ BOOLEAN IdentityMode;\r
+ UINTN ReceivedSize;\r
\r
ASSERT (Private != NULL);\r
ASSERT (Private->HttpCreated);\r
\r
- if (BufferSize == NULL || ImageType == NULL) {\r
+ if ((BufferSize == NULL) || (ImageType == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
- if (*BufferSize != 0 && Buffer == NULL) {\r
+ if ((*BufferSize != 0) && (Buffer == NULL)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
// First, check whether we already cached the requested Uri.\r
//\r
UrlSize = AsciiStrSize (Private->BootFileUri);\r
- Url = AllocatePool (UrlSize * sizeof (CHAR16));\r
+ Url = AllocatePool (UrlSize * sizeof (CHAR16));\r
if (Url == NULL) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
+\r
AsciiStrToUnicodeStrS (Private->BootFileUri, Url, UrlSize);\r
- if (!HeaderOnly && Buffer != NULL) {\r
+ if (!HeaderOnly && (Buffer != NULL)) {\r
Status = HttpBootGetFileFromCache (Private, Url, BufferSize, Buffer, ImageType);\r
if (Status != EFI_NOT_FOUND) {\r
FreePool (Url);\r
Status = EFI_OUT_OF_RESOURCES;\r
goto ERROR_1;\r
}\r
+\r
Cache->ImageType = ImageTypeMax;\r
InitializeListHead (&Cache->EntityDataList);\r
}\r
// Add HTTP header field 1: Host\r
//\r
HostName = NULL;\r
- Status = HttpUrlGetHostName (\r
- Private->BootFileUri,\r
- Private->BootFileUriParser,\r
- &HostName\r
- );\r
+ Status = HttpUrlGetHostName (\r
+ Private->BootFileUri,\r
+ Private->BootFileUriParser,\r
+ &HostName\r
+ );\r
if (EFI_ERROR (Status)) {\r
goto ERROR_3;\r
}\r
+\r
Status = HttpIoSetHeader (\r
HttpIoHeader,\r
HTTP_HEADER_HOST,\r
Status = EFI_OUT_OF_RESOURCES;\r
goto ERROR_3;\r
}\r
+\r
RequestData->Method = HeaderOnly ? HttpMethodHead : HttpMethodGet;\r
- RequestData->Url = Url;\r
+ RequestData->Url = Url;\r
\r
//\r
// 2.3 Record the request info in a temp cache item.\r
HttpIoHeader->Headers,\r
0,\r
NULL\r
- );\r
+ );\r
if (EFI_ERROR (Status)) {\r
goto ERROR_4;\r
}\r
//\r
// 3.1 First step, use zero BodyLength to only receive the response headers.\r
//\r
- ResponseData = AllocateZeroPool (sizeof(HTTP_IO_RESPONSE_DATA));\r
+ ResponseData = AllocateZeroPool (sizeof (HTTP_IO_RESPONSE_DATA));\r
if (ResponseData == NULL) {\r
Status = EFI_OUT_OF_RESOURCES;\r
goto ERROR_4;\r
}\r
+\r
Status = HttpIoRecvResponse (\r
&Private->HttpIo,\r
TRUE,\r
HttpBootPrintErrorMessage (StatusCode);\r
Status = ResponseData->Status;\r
}\r
+\r
goto ERROR_5;\r
}\r
\r
//\r
if (Cache != NULL) {\r
Cache->ResponseData = ResponseData;\r
- Cache->ImageType = *ImageType;\r
+ Cache->ImageType = *ImageType;\r
}\r
\r
//\r
// 3.3 Init a message-body parser from the header information.\r
//\r
- Parser = NULL;\r
+ Parser = NULL;\r
Context.NewBlock = FALSE;\r
Context.Block = NULL;\r
Context.CopyedSize = 0;\r
Context.BufferSize = *BufferSize;\r
Context.Cache = Cache;\r
Context.Private = Private;\r
- Status = HttpInitMsgParser (\r
- HeaderOnly ? HttpMethodHead : HttpMethodGet,\r
- ResponseData->Response.StatusCode,\r
- ResponseData->HeaderCount,\r
- ResponseData->Headers,\r
- HttpBootGetBootFileCallback,\r
- (VOID*) &Context,\r
- &Parser\r
- );\r
+ Status = HttpInitMsgParser (\r
+ HeaderOnly ? HttpMethodHead : HttpMethodGet,\r
+ ResponseData->Response.StatusCode,\r
+ ResponseData->HeaderCount,\r
+ ResponseData->Headers,\r
+ HttpBootGetBootFileCallback,\r
+ (VOID *)&Context,\r
+ &Parser\r
+ );\r
if (EFI_ERROR (Status)) {\r
goto ERROR_6;\r
}\r
// 3.4.1, check whether we are in identity transfer-coding.\r
//\r
ContentLength = 0;\r
- Status = HttpGetEntityLength (Parser, &ContentLength);\r
+ Status = HttpGetEntityLength (Parser, &ContentLength);\r
if (!EFI_ERROR (Status)) {\r
IdentityMode = TRUE;\r
} else {\r
//\r
ReceivedSize = 0;\r
while (ReceivedSize < ContentLength) {\r
- ResponseBody.Body = (CHAR8*) Buffer + ReceivedSize;\r
+ ResponseBody.Body = (CHAR8 *)Buffer + ReceivedSize;\r
ResponseBody.BodyLength = *BufferSize - ReceivedSize;\r
- Status = HttpIoRecvResponse (\r
- &Private->HttpIo,\r
- FALSE,\r
- &ResponseBody\r
- );\r
+ Status = HttpIoRecvResponse (\r
+ &Private->HttpIo,\r
+ FALSE,\r
+ &ResponseBody\r
+ );\r
if (EFI_ERROR (Status) || EFI_ERROR (ResponseBody.Status)) {\r
if (EFI_ERROR (ResponseBody.Status)) {\r
Status = ResponseBody.Status;\r
}\r
+\r
goto ERROR_6;\r
}\r
+\r
ReceivedSize += ResponseBody.BodyLength;\r
if (Private->HttpBootCallback != NULL) {\r
Status = Private->HttpBootCallback->Callback (\r
- Private->HttpBootCallback,\r
- HttpBootHttpEntityBody,\r
- TRUE,\r
- (UINT32)ResponseBody.BodyLength,\r
- ResponseBody.Body\r
- );\r
+ Private->HttpBootCallback,\r
+ HttpBootHttpEntityBody,\r
+ TRUE,\r
+ (UINT32)ResponseBody.BodyLength,\r
+ ResponseBody.Body\r
+ );\r
if (EFI_ERROR (Status)) {\r
goto ERROR_6;\r
}\r
// Otherwise a buffer, the buffer in Block will be cached and we should allocate a new before\r
// every HttpIoRecvResponse().\r
//\r
- if (Block == NULL || Context.BufferSize == 0) {\r
+ if ((Block == NULL) || (Context.BufferSize == 0)) {\r
Block = AllocatePool (HTTP_BOOT_BLOCK_SIZE);\r
if (Block == NULL) {\r
Status = EFI_OUT_OF_RESOURCES;\r
goto ERROR_6;\r
}\r
+\r
Context.NewBlock = TRUE;\r
- Context.Block = Block;\r
+ Context.Block = Block;\r
} else {\r
Context.NewBlock = FALSE;\r
}\r
\r
- ResponseBody.Body = (CHAR8*) Block;\r
+ ResponseBody.Body = (CHAR8 *)Block;\r
ResponseBody.BodyLength = HTTP_BOOT_BLOCK_SIZE;\r
- Status = HttpIoRecvResponse (\r
- &Private->HttpIo,\r
- FALSE,\r
- &ResponseBody\r
- );\r
+ Status = HttpIoRecvResponse (\r
+ &Private->HttpIo,\r
+ FALSE,\r
+ &ResponseBody\r
+ );\r
if (EFI_ERROR (Status) || EFI_ERROR (ResponseBody.Status)) {\r
if (EFI_ERROR (ResponseBody.Status)) {\r
Status = ResponseBody.Status;\r
}\r
+\r
goto ERROR_6;\r
}\r
\r
} else {\r
Status = EFI_SUCCESS;\r
}\r
+\r
*BufferSize = ContentLength;\r
\r
//\r
if (Parser != NULL) {\r
HttpFreeMsgParser (Parser);\r
}\r
+\r
if (Context.Block != NULL) {\r
FreePool (Context.Block);\r
}\r
+\r
HttpBootFreeCache (Cache);\r
\r
ERROR_5:\r
if (ResponseData != NULL) {\r
FreePool (ResponseData);\r
}\r
+\r
ERROR_4:\r
if (RequestData != NULL) {\r
FreePool (RequestData);\r
}\r
+\r
ERROR_3:\r
HttpIoFreeHeader (HttpIoHeader);\r
ERROR_2:\r
if (Cache != NULL) {\r
FreePool (Cache);\r
}\r
+\r
ERROR_1:\r
if (Url != NULL) {\r
FreePool (Url);\r