TianoCore EDK2 master
|
#include <Library/BaseLib.h>
#include <Library/DebugLib.h>
#include <Library/RedfishHttpLib.h>
#include <Library/UefiBootServicesTableLib.h>
#include <Library/UefiLib.h>
Go to the source code of this file.
Functions | |
REDFISH_SERVICE | RedfishCreateService (IN REDFISH_CONFIG_SERVICE_INFORMATION *RedfishConfigServiceInfo) |
EFI_STATUS | RedfishCleanupService (IN REDFISH_SERVICE RedfishService) |
EDKII_JSON_VALUE | RedfishJsonInPayload (IN REDFISH_PAYLOAD RedfishPayload) |
EFI_STATUS | RedfishHttpFreeRequest (IN REDFISH_REQUEST *Request) |
EFI_STATUS | RedfishHttpFreeResponse (IN REDFISH_RESPONSE *Response) |
EFI_STATUS | RedfishHttpExpireResponse (IN EFI_STRING Uri) |
EFI_STATUS | RedfishHttpGetResource (IN REDFISH_SERVICE Service, IN EFI_STRING Uri, IN REDFISH_REQUEST *Request OPTIONAL, OUT REDFISH_RESPONSE *Response, IN BOOLEAN UseCache) |
EFI_STATUS | RedfishHttpPatchResource (IN REDFISH_SERVICE Service, IN EFI_STRING Uri, IN CHAR8 *Content, OUT REDFISH_RESPONSE *Response) |
EFI_STATUS | RedfishHttpPatchResourceEx (IN REDFISH_SERVICE Service, IN EFI_STRING Uri, IN CHAR8 *Content, IN UINTN ContentSize OPTIONAL, IN CHAR8 *ContentType OPTIONAL, OUT REDFISH_RESPONSE *Response) |
EFI_STATUS | RedfishHttpPutResource (IN REDFISH_SERVICE Service, IN EFI_STRING Uri, IN CHAR8 *Content, OUT REDFISH_RESPONSE *Response) |
EFI_STATUS | RedfishHttpPutResourceEx (IN REDFISH_SERVICE Service, IN EFI_STRING Uri, IN CHAR8 *Content, IN UINTN ContentSize OPTIONAL, IN CHAR8 *ContentType OPTIONAL, OUT REDFISH_RESPONSE *Response) |
EFI_STATUS | RedfishHttpPostResource (IN REDFISH_SERVICE Service, IN EFI_STRING Uri, IN CHAR8 *Content, OUT REDFISH_RESPONSE *Response) |
EFI_STATUS | RedfishHttpPostResourceEx (IN REDFISH_SERVICE Service, IN EFI_STRING Uri, IN CHAR8 *Content, IN UINTN ContentSize OPTIONAL, IN CHAR8 *ContentType OPTIONAL, OUT REDFISH_RESPONSE *Response) |
EFI_STATUS | RedfishHttpDeleteResource (IN REDFISH_SERVICE Service, IN EFI_STRING Uri, OUT REDFISH_RESPONSE *Response) |
EFI_STATUS | RedfishHttpDeleteResourceEx (IN REDFISH_SERVICE Service, IN EFI_STRING Uri, IN CHAR8 *Content OPTIONAL, IN UINTN ContentSize OPTIONAL, IN CHAR8 *ContentType OPTIONAL, OUT REDFISH_RESPONSE *Response) |
VOID EFIAPI | RedfishHttpProtocolIsReady (IN EFI_EVENT Event, IN VOID *Context) |
EFI_STATUS EFIAPI | RedfishHttpConstructor (IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable) |
Variables | |
EDKII_REDFISH_HTTP_PROTOCOL * | mRedfishHttpProtocol = NULL |
Redfish HTTP cache library helps Redfish application to get Redfish resource from BMC with cache mechanism enabled.
Copyright (c) 2023-2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file RedfishHttpLib.c.
EFI_STATUS RedfishCleanupService | ( | IN REDFISH_SERVICE | RedfishService | ) |
This function free resources in Redfish service. RedfishService is no longer available after this function returns successfully.
[in] | RedfishService | Pointer to Redfish service to be released. |
EFI_SUCCESS | Resource is released successfully. |
Others | Errors occur. |
Definition at line 55 of file RedfishHttpLib.c.
REDFISH_SERVICE RedfishCreateService | ( | IN REDFISH_CONFIG_SERVICE_INFORMATION * | RedfishConfigServiceInfo | ) |
This function create Redfish service. It's caller's responsibility to free returned Redfish service by calling FreeService ().
[in] | RedfishConfigServiceInfo | Redfish config service information. |
REDFISH_SERVICE | Redfish service is created. |
NULL | Errors occur. |
Definition at line 30 of file RedfishHttpLib.c.
EFI_STATUS EFIAPI RedfishHttpConstructor | ( | IN EFI_HANDLE | ImageHandle, |
IN EFI_SYSTEM_TABLE * | SystemTable | ||
) |
Initial HTTP library instance.
[in] | ImageHandle | The image handle. |
[in] | SystemTable | The system table. |
EFI_SUCCESS | Initial library successfully. |
Other | Return error status. |
Definition at line 569 of file RedfishHttpLib.c.
EFI_STATUS RedfishHttpDeleteResource | ( | IN REDFISH_SERVICE | Service, |
IN EFI_STRING | Uri, | ||
OUT REDFISH_RESPONSE * | Response | ||
) |
Perform HTTP DELETE to delete redfish resource on given resource URI. It's caller's responsibility to free Response by calling RedfishHttpFreeResponse ().
[in] | Service | Redfish service instance to perform HTTP DELETE. |
[in] | Uri | Target resource URI. |
[out] | Response | HTTP response from redfish service. |
EFI_SUCCESS | Resource is returned successfully. |
Others | Errors occur. |
Definition at line 459 of file RedfishHttpLib.c.
EFI_STATUS RedfishHttpDeleteResourceEx | ( | IN REDFISH_SERVICE | Service, |
IN EFI_STRING | Uri, | ||
IN CHAR8 *Content | OPTIONAL, | ||
IN UINTN ContentSize | OPTIONAL, | ||
IN CHAR8 *ContentType | OPTIONAL, | ||
OUT REDFISH_RESPONSE * | Response | ||
) |
Perform HTTP DELETE to delete redfish resource on given resource URI. It's caller's responsibility to free Response by calling RedfishHttpFreeResponse ().
[in] | Service | Redfish service instance to perform HTTP DELETE. |
[in] | Uri | Target resource URI. |
[in] | Content | JSON represented properties to be deleted. This is optional. |
[in] | ContentSize | Size of the Content to be send to Redfish service. This is optional. When ContentSize is 0, ContentSize is the size of Content if Content is not NULL. |
[in] | ContentType | Type of the Content to be send to Redfish service. This is optional. |
[out] | Response | HTTP response from redfish service. |
EFI_SUCCESS | Resource is returned successfully. |
Others | Errors occur. |
Definition at line 500 of file RedfishHttpLib.c.
EFI_STATUS RedfishHttpExpireResponse | ( | IN EFI_STRING | Uri | ) |
This function expire the cached response of given URI.
[in] | Uri | Target response of URI. |
EFI_SUCCESS | Target response is expired successfully. |
Others | Errors occur. |
Definition at line 155 of file RedfishHttpLib.c.
EFI_STATUS RedfishHttpFreeRequest | ( | IN REDFISH_REQUEST * | Request | ) |
This function free resources in Request. Request is no longer available after this function returns successfully.
[in] | Request | HTTP request to be released. |
EFI_SUCCESS | Resource is released successfully. |
Others | Errors occur. |
Definition at line 106 of file RedfishHttpLib.c.
EFI_STATUS RedfishHttpFreeResponse | ( | IN REDFISH_RESPONSE * | Response | ) |
This function free resources in Response. Response is no longer available after this function returns successfully.
[in] | Response | HTTP response to be released. |
EFI_SUCCESS | Resource is released successfully. |
Others | Errors occur. |
Definition at line 131 of file RedfishHttpLib.c.
EFI_STATUS RedfishHttpGetResource | ( | IN REDFISH_SERVICE | Service, |
IN EFI_STRING | Uri, | ||
IN REDFISH_REQUEST *Request | OPTIONAL, | ||
OUT REDFISH_RESPONSE * | Response, | ||
IN BOOLEAN | UseCache | ||
) |
Get redfish resource from given resource URI with cache mechanism supported. It's caller's responsibility to Response by calling RedfishHttpFreeResponse ().
[in] | Service | Redfish service instance to perform HTTP GET. |
[in] | Uri | Target resource URI. |
[in] | Request | Additional request context. This is optional. |
[out] | Response | HTTP response from redfish service. |
[in] | UseCache | If it is TRUE, this function will search for cache first. If it is FALSE, this function will query Redfish URI directly. |
EFI_SUCCESS | Resource is returned successfully. |
Others | Errors occur. |
Definition at line 187 of file RedfishHttpLib.c.
EFI_STATUS RedfishHttpPatchResource | ( | IN REDFISH_SERVICE | Service, |
IN EFI_STRING | Uri, | ||
IN CHAR8 * | Content, | ||
OUT REDFISH_RESPONSE * | Response | ||
) |
Perform HTTP PATCH to send redfish resource to given resource URI. It's caller's responsibility to free Response by calling RedfishHttpFreeResponse ().
[in] | Service | Redfish service instance to perform HTTP PATCH. |
[in] | Uri | Target resource URI. |
[in] | Content | Data to patch. |
[out] | Response | HTTP response from redfish service. |
EFI_SUCCESS | Resource is returned successfully. |
Others | Errors occur. |
Definition at line 223 of file RedfishHttpLib.c.
EFI_STATUS RedfishHttpPatchResourceEx | ( | IN REDFISH_SERVICE | Service, |
IN EFI_STRING | Uri, | ||
IN CHAR8 * | Content, | ||
IN UINTN ContentSize | OPTIONAL, | ||
IN CHAR8 *ContentType | OPTIONAL, | ||
OUT REDFISH_RESPONSE * | Response | ||
) |
Perform HTTP PATCH to send redfish resource to given resource URI. It's caller's responsibility to free Response by calling RedfishHttpFreeResponse ().
[in] | Service | Redfish service instance to perform HTTP PATCH. |
[in] | Uri | Target resource URI. |
[in] | Content | Data to patch. |
[in] | ContentSize | Size of the Content to be send to Redfish service. This is optional. When ContentSize is 0, ContentSize is the size of Content. |
[in] | ContentType | Type of the Content to be send to Redfish service. This is optional. |
[out] | Response | HTTP response from redfish service. |
EFI_SUCCESS | Resource is returned successfully. |
Others | Errors occur. |
Definition at line 264 of file RedfishHttpLib.c.
EFI_STATUS RedfishHttpPostResource | ( | IN REDFISH_SERVICE | Service, |
IN EFI_STRING | Uri, | ||
IN CHAR8 * | Content, | ||
OUT REDFISH_RESPONSE * | Response | ||
) |
Perform HTTP POST to send redfish resource to given resource URI. It's caller's responsibility to free Response by calling RedfishHttpFreeResponse ().
[in] | Service | Redfish service instance to perform HTTP POST. |
[in] | Uri | Target resource URI. |
[in] | Content | Data to post. |
[out] | Response | HTTP response from redfish service. |
EFI_SUCCESS | Resource is returned successfully. |
Others | Errors occur. |
Definition at line 381 of file RedfishHttpLib.c.
EFI_STATUS RedfishHttpPostResourceEx | ( | IN REDFISH_SERVICE | Service, |
IN EFI_STRING | Uri, | ||
IN CHAR8 * | Content, | ||
IN UINTN ContentSize | OPTIONAL, | ||
IN CHAR8 *ContentType | OPTIONAL, | ||
OUT REDFISH_RESPONSE * | Response | ||
) |
Perform HTTP POST to send redfish resource to given resource URI. It's caller's responsibility to free Response by calling RedfishHttpFreeResponse ().
[in] | Service | Redfish service instance to perform HTTP POST. |
[in] | Uri | Target resource URI. |
[in] | Content | Data to post. |
[in] | ContentSize | Size of the Content to be send to Redfish service. This is optional. When ContentSize is 0, ContentSize is the size of Content. |
[in] | ContentType | Type of the Content to be send to Redfish service. This is optional. |
[out] | Response | HTTP response from redfish service. |
EFI_SUCCESS | Resource is returned successfully. |
Others | Errors occur. |
Definition at line 422 of file RedfishHttpLib.c.
Callback function when gEdkIIRedfishHttpProtocolGuid is installed.
[in] | Event | Event whose notification function is being invoked. |
[in] | Context | Pointer to the notification function's context. |
Definition at line 532 of file RedfishHttpLib.c.
EFI_STATUS RedfishHttpPutResource | ( | IN REDFISH_SERVICE | Service, |
IN EFI_STRING | Uri, | ||
IN CHAR8 * | Content, | ||
OUT REDFISH_RESPONSE * | Response | ||
) |
Perform HTTP PUT to send redfish resource to given resource URI. It's caller's responsibility to free Response by calling RedfishHttpFreeResponse ().
[in] | Service | Redfish service instance to perform HTTP PUT. |
[in] | Uri | Target resource URI. |
[in] | Content | Data to put. |
[out] | Response | HTTP response from redfish service. |
EFI_SUCCESS | Resource is returned successfully. |
Others | Errors occur. |
Definition at line 302 of file RedfishHttpLib.c.
EFI_STATUS RedfishHttpPutResourceEx | ( | IN REDFISH_SERVICE | Service, |
IN EFI_STRING | Uri, | ||
IN CHAR8 * | Content, | ||
IN UINTN ContentSize | OPTIONAL, | ||
IN CHAR8 *ContentType | OPTIONAL, | ||
OUT REDFISH_RESPONSE * | Response | ||
) |
Perform HTTP PUT to send redfish resource to given resource URI. It's caller's responsibility to free Response by calling RedfishHttpFreeResponse ().
[in] | Service | Redfish service instance to perform HTTP PUT. |
[in] | Uri | Target resource URI. |
[in] | Content | Data to put. |
[in] | ContentSize | Size of the Content to be send to Redfish service. This is optional. When ContentSize is 0, ContentSize is the size of Content. |
[in] | ContentType | Type of the Content to be send to Redfish service. This is optional. |
[out] | Response | HTTP response from redfish service. |
EFI_SUCCESS | Resource is returned successfully. |
Others | Errors occur. |
Definition at line 343 of file RedfishHttpLib.c.
EDKII_JSON_VALUE RedfishJsonInPayload | ( | IN REDFISH_PAYLOAD | RedfishPayload | ) |
This function returns JSON value in given RedfishPayload. Returned JSON value is a reference to the JSON value in RedfishPayload. Any modification to returned JSON value will change JSON value in RedfishPayload.
[in] | RedfishPayload | Pointer to Redfish payload. |
EDKII_JSON_VALUE | JSON value is returned. |
NULL | Errors occur. |
Definition at line 81 of file RedfishHttpLib.c.
EDKII_REDFISH_HTTP_PROTOCOL* mRedfishHttpProtocol = NULL |
Definition at line 17 of file RedfishHttpLib.c.