+/**\r
+ HttpIo Callback function which will be invoked when specified HTTP_IO_CALLBACK_EVENT happened.\r
+\r
+ @param[in] EventType Indicate the Event type that occurs in the current callback.\r
+ @param[in] Message HTTP message which will be send to, or just received from HTTP server.\r
+ @param[in] Context The Callback Context pointer.\r
+ \r
+ @retval EFI_SUCCESS Tells the HttpIo to continue the HTTP process.\r
+ @retval Others Tells the HttpIo to abort the current HTTP process.\r
+**/\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
+ )\r
+{\r
+ HTTP_BOOT_PRIVATE_DATA *Private;\r
+ EFI_STATUS Status;\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
+ return Status;\r
+ }\r
+ return EFI_SUCCESS;\r
+}\r
+\r