The header files of Http Utilities functions for HttpUtilities driver.\r
\r
Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>\r
+ (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>\r
\r
This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
#include <Library/BaseLib.h>\r
#include <Library/UefiLib.h>\r
#include <Library/DebugLib.h>\r
+#include <Library/HttpLib.h>\r
\r
//\r
// Consumed Protocols\r
//\r
extern EFI_HTTP_UTILITIES_PROTOCOL mHttpUtilitiesProtocol;\r
\r
-\r
-/**\r
- Free existing HeaderFields.\r
-\r
- @param[in] HeaderFields Pointer to array of key/value header pairs waitting for free.\r
- @param[in] FieldCount The number of header pairs in HeaderFields.\r
-\r
-**/\r
-VOID\r
-FreeHeaderFields (\r
- IN EFI_HTTP_HEADER *HeaderFields,\r
- IN UINTN FieldCount\r
- );\r
-\r
-\r
-/**\r
- Find required header field in HeaderFields.\r
-\r
- @param[in] HeaderFields Pointer to array of key/value header pairs.\r
- @param[in] FieldCount The number of header pairs.\r
- @param[in] FieldName Pointer to header field's name.\r
-\r
- @return Pointer to the queried header field.\r
- @return NULL if not find this required header field.\r
-\r
-**/\r
-EFI_HTTP_HEADER *\r
-FindHttpHeader (\r
- IN EFI_HTTP_HEADER *HeaderFields,\r
- IN UINTN FieldCount,\r
- IN CHAR8 *FieldName\r
- );\r
-\r
-\r
-/**\r
- Check whether header field called FieldName is in DeleteList.\r
-\r
- @param[in] DeleteList Pointer to array of key/value header pairs.\r
- @param[in] DeleteCount The number of header pairs.\r
- @param[in] FieldName Pointer to header field's name.\r
-\r
- @return TRUE if FieldName is not in DeleteList, that means this header field is valid.\r
- @return FALSE if FieldName is in DeleteList, that means this header field is invalid.\r
-\r
-**/\r
-BOOLEAN\r
-IsValidHttpHeader (\r
- IN CHAR8 *DeleteList[],\r
- IN UINTN DeleteCount,\r
- IN CHAR8 *FieldName\r
- );\r
-\r
-\r
-/**\r
- Set FieldName and FieldValue into specified HttpHeader.\r
-\r
- @param[in] HttpHeader Specified HttpHeader.\r
- @param[in] FieldName FieldName of this HttpHeader.\r
- @param[in] FieldValue FieldValue of this HttpHeader.\r
-\r
-\r
- @retval EFI_SUCCESS The FieldName and FieldValue are set into HttpHeader successfully.\r
- @retval EFI_OUT_OF_RESOURCES Failed to allocate resources.\r
-\r
-**/\r
-EFI_STATUS\r
-SetFieldNameAndValue (\r
- IN EFI_HTTP_HEADER *HttpHeader,\r
- IN CHAR8 *FieldName, \r
- IN CHAR8 *FieldValue\r
- );\r
-\r
-\r
-/**\r
- Get one key/value header pair from the raw string.\r
-\r
- @param[in] String Pointer to the raw string.\r
- @param[out] FieldName Pointer to header field's name.\r
- @param[out] FieldValue Pointer to header field's value.\r
-\r
- @return Pointer to the next raw string.\r
- @return NULL if no key/value header pair from this raw string.\r
-\r
-**/\r
-CHAR8 *\r
-GetFieldNameAndValue (\r
- IN CHAR8 *String,\r
- OUT CHAR8 **FieldName,\r
- OUT CHAR8 **FieldValue\r
- );\r
-\r
-\r
/**\r
Create HTTP header based on a combination of seed header, fields\r
to delete, and fields to append.\r