#include <Library/HttpLib.h>\r
#include <Library/NetLib.h>\r
\r
-#define HTTP_IO_MAX_SEND_PAYLOAD 1024\r
-#define HTTP_IO_CHUNK_SIZE_STRING_LEN 50\r
-#define HTTP_IO_CHUNKED_TRANSFER_CODING_DATA_LENGTH 256\r
+#define HTTP_IO_MAX_SEND_PAYLOAD 1024\r
+#define HTTP_IO_CHUNK_SIZE_STRING_LEN 50\r
+#define HTTP_IO_CHUNKED_TRANSFER_CODING_DATA_LENGTH 256\r
\r
///\r
/// HTTP_IO_CALLBACK_EVENT\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI * HTTP_IO_CALLBACK) (\r
+(EFIAPI *HTTP_IO_CALLBACK)(\r
IN HTTP_IO_CALLBACK_EVENT EventType,\r
IN EFI_HTTP_MESSAGE *Message,\r
IN VOID *Context\r
/// A wrapper structure to hold the received HTTP response data.\r
///\r
typedef struct {\r
- EFI_HTTP_RESPONSE_DATA Response;\r
- UINTN HeaderCount;\r
- EFI_HTTP_HEADER *Headers;\r
- UINTN BodyLength;\r
- CHAR8 *Body;\r
- EFI_STATUS Status;\r
+ EFI_HTTP_RESPONSE_DATA Response;\r
+ UINTN HeaderCount;\r
+ EFI_HTTP_HEADER *Headers;\r
+ UINTN BodyLength;\r
+ CHAR8 *Body;\r
+ EFI_STATUS Status;\r
} HTTP_IO_RESPONSE_DATA;\r
\r
///\r
/// HTTP_IO configuration data for IPv4\r
///\r
typedef struct {\r
- EFI_HTTP_VERSION HttpVersion;\r
- UINT32 RequestTimeOut; ///< In milliseconds.\r
- UINT32 ResponseTimeOut; ///< In milliseconds.\r
- BOOLEAN UseDefaultAddress;\r
- EFI_IPv4_ADDRESS LocalIp;\r
- EFI_IPv4_ADDRESS SubnetMask;\r
- UINT16 LocalPort;\r
+ EFI_HTTP_VERSION HttpVersion;\r
+ UINT32 RequestTimeOut; ///< In milliseconds.\r
+ UINT32 ResponseTimeOut; ///< In milliseconds.\r
+ BOOLEAN UseDefaultAddress;\r
+ EFI_IPv4_ADDRESS LocalIp;\r
+ EFI_IPv4_ADDRESS SubnetMask;\r
+ UINT16 LocalPort;\r
} HTTP4_IO_CONFIG_DATA;\r
\r
///\r
/// HTTP_IO configuration data for IPv6\r
///\r
typedef struct {\r
- EFI_HTTP_VERSION HttpVersion;\r
- UINT32 RequestTimeOut; ///< In milliseconds.\r
- BOOLEAN UseDefaultAddress;\r
- EFI_IPv6_ADDRESS LocalIp;\r
- UINT16 LocalPort;\r
+ EFI_HTTP_VERSION HttpVersion;\r
+ UINT32 RequestTimeOut; ///< In milliseconds.\r
+ BOOLEAN UseDefaultAddress;\r
+ EFI_IPv6_ADDRESS LocalIp;\r
+ UINT16 LocalPort;\r
} HTTP6_IO_CONFIG_DATA;\r
\r
///\r
/// HTTP_IO configuration\r
///\r
typedef union {\r
- HTTP4_IO_CONFIG_DATA Config4;\r
- HTTP6_IO_CONFIG_DATA Config6;\r
+ HTTP4_IO_CONFIG_DATA Config4;\r
+ HTTP6_IO_CONFIG_DATA Config6;\r
} HTTP_IO_CONFIG_DATA;\r
\r
///\r
/// HTTP_IO wrapper of the EFI HTTP service.\r
///\r
typedef struct {\r
- UINT8 IpVersion;\r
- EFI_HANDLE Image;\r
- EFI_HANDLE Controller;\r
- EFI_HANDLE Handle;\r
+ UINT8 IpVersion;\r
+ EFI_HANDLE Image;\r
+ EFI_HANDLE Controller;\r
+ EFI_HANDLE Handle;\r
\r
- EFI_HTTP_PROTOCOL *Http;\r
+ EFI_HTTP_PROTOCOL *Http;\r
\r
- HTTP_IO_CALLBACK Callback;\r
- VOID *Context;\r
+ HTTP_IO_CALLBACK Callback;\r
+ VOID *Context;\r
\r
- EFI_HTTP_TOKEN ReqToken;\r
- EFI_HTTP_MESSAGE ReqMessage;\r
- EFI_HTTP_TOKEN RspToken;\r
- EFI_HTTP_MESSAGE RspMessage;\r
+ EFI_HTTP_TOKEN ReqToken;\r
+ EFI_HTTP_MESSAGE ReqMessage;\r
+ EFI_HTTP_TOKEN RspToken;\r
+ EFI_HTTP_MESSAGE RspMessage;\r
\r
- BOOLEAN IsTxDone;\r
- BOOLEAN IsRxDone;\r
+ BOOLEAN IsTxDone;\r
+ BOOLEAN IsRxDone;\r
\r
- EFI_EVENT TimeoutEvent;\r
- UINT32 Timeout;\r
+ EFI_EVENT TimeoutEvent;\r
+ UINT32 Timeout;\r
} HTTP_IO;\r
\r
///\r
/// Chunk links for HTTP chunked transfer coding.\r
///\r
typedef struct {\r
- LIST_ENTRY NextChunk;\r
- UINTN Length;\r
- CHAR8 *Data;\r
+ LIST_ENTRY NextChunk;\r
+ UINTN Length;\r
+ CHAR8 *Data;\r
} HTTP_IO_CHUNKS;\r
\r
/**\r
VOID\r
EFIAPI\r
HttpIoNotifyDpc (\r
- IN VOID *Context\r
+ IN VOID *Context\r
);\r
\r
/**\r
VOID\r
EFIAPI\r
HttpIoNotify (\r
- IN EFI_EVENT Event,\r
- IN VOID *Context\r
+ IN EFI_EVENT Event,\r
+ IN VOID *Context\r
);\r
\r
/**\r
**/\r
VOID\r
HttpIoDestroyIo (\r
- IN HTTP_IO *HttpIo\r
+ IN HTTP_IO *HttpIo\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
HttpIoCreateIo (\r
- IN EFI_HANDLE Image,\r
- IN EFI_HANDLE Controller,\r
- IN UINT8 IpVersion,\r
- IN HTTP_IO_CONFIG_DATA *ConfigData,\r
- IN HTTP_IO_CALLBACK Callback,\r
- IN VOID *Context,\r
- OUT HTTP_IO *HttpIo\r
+ IN EFI_HANDLE Image,\r
+ IN EFI_HANDLE Controller,\r
+ IN UINT8 IpVersion,\r
+ IN HTTP_IO_CONFIG_DATA *ConfigData,\r
+ IN HTTP_IO_CALLBACK Callback,\r
+ IN VOID *Context,\r
+ OUT HTTP_IO *HttpIo\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
HttpIoRecvResponse (\r
- IN HTTP_IO *HttpIo,\r
- IN BOOLEAN RecvMsgHeader,\r
- OUT HTTP_IO_RESPONSE_DATA *ResponseData\r
+ IN HTTP_IO *HttpIo,\r
+ IN BOOLEAN RecvMsgHeader,\r
+ OUT HTTP_IO_RESPONSE_DATA *ResponseData\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
HttpIoGetContentLength (\r
- IN UINTN HeaderCount,\r
- IN EFI_HTTP_HEADER *Headers,\r
- OUT UINTN *ContentLength\r
+ IN UINTN HeaderCount,\r
+ IN EFI_HTTP_HEADER *Headers,\r
+ OUT UINTN *ContentLength\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
HttpIoGetChunkedTransferContent (\r
- IN HTTP_IO *HttpIo,\r
- IN UINTN HeaderCount,\r
- IN EFI_HTTP_HEADER *Headers,\r
- OUT LIST_ENTRY **ChunkListHead,\r
- OUT UINTN *ContentLength\r
+ IN HTTP_IO *HttpIo,\r
+ IN UINTN HeaderCount,\r
+ IN EFI_HTTP_HEADER *Headers,\r
+ OUT LIST_ENTRY **ChunkListHead,\r
+ OUT UINTN *ContentLength\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
HttpIoSendChunkedTransfer (\r
- IN HTTP_IO *HttpIo,\r
- IN HTTP_IO_SEND_CHUNK_PROCESS *SendChunkProcess,\r
- IN EFI_HTTP_MESSAGE *RequestMessage\r
-);\r
+ IN HTTP_IO *HttpIo,\r
+ IN HTTP_IO_SEND_CHUNK_PROCESS *SendChunkProcess,\r
+ IN EFI_HTTP_MESSAGE *RequestMessage\r
+ );\r
+\r
#endif\r