TianoCore EDK2 master
Loading...
Searching...
No Matches
RedfishHttpData.h
Go to the documentation of this file.
1
10#ifndef EDKII_REDFISH_HTTP_DATA_H_
11#define EDKII_REDFISH_HTTP_DATA_H_
12
13#include "RedfishHttpDxe.h"
14
15#define REDFISH_HTTP_DRIVER_SIGNATURE SIGNATURE_32 ('r', 'f', 'h', 'p')
16#define REDFISH_HTTP_CACHE_SIGNATURE SIGNATURE_32 ('r', 'f', 'c', 'h')
17#define REDFISH_HTTP_SERVICE_SIGNATURE SIGNATURE_32 ('r', 'f', 's', 'v')
18#define REDFISH_HTTP_PAYLOAD_SIGNATURE SIGNATURE_32 ('r', 'f', 'p', 'l')
19#define REDFISH_HTTP_BASIC_AUTH_STR "Basic "
20
24typedef struct {
25 UINT32 Signature;
26 CHAR8 *Host;
27 CHAR8 *HostName;
28 CHAR8 *BasicAuth;
29 CHAR8 *SessionToken;
32
36typedef struct {
37 UINT32 Signature;
39 EDKII_JSON_VALUE JsonValue;
41
45typedef struct {
46 UINT32 Signature;
47 LIST_ENTRY List;
48 EFI_STRING Uri;
49 UINTN HitCount;
50 REDFISH_RESPONSE *Response;
52
53#define REDFISH_HTTP_CACHE_FROM_LIST(a) CR (a, REDFISH_HTTP_CACHE_DATA, List, REDFISH_HTTP_CACHE_SIGNATURE)
54
58typedef struct {
59 LIST_ENTRY Head;
60 UINTN Count;
61 UINTN Capacity;
63
67typedef struct {
68 UINT16 MaximumRetryGet;
69 UINT16 MaximumRetryPut;
70 UINT16 MaximumRetryPost;
71 UINT16 MaximumRetryPatch;
72 UINT16 MaximumRetryDelete;
73 UINTN RetryWait;
75
79typedef struct {
80 UINT32 Signature;
81 EFI_HANDLE ImageHandle;
82 BOOLEAN CacheDisabled;
83 EFI_EVENT NotifyEvent;
86 EDKII_REDFISH_CREDENTIAL2_PROTOCOL *CredentialProtocol;
87 REDFISH_HTTP_RETRY_SETTING RetrySetting;
89
90#define REDFISH_HTTP_CACHE_PRIVATE_FROM_THIS(a) CR (a, REDFISH_HTTP_CACHE_PRIVATE, Protocol, REDFISH_HTTP_DRIVER_SIGNATURE)
91
104 IN LIST_ENTRY *ListHeader,
105 IN EFI_STRING Uri
106 );
107
120 IN REDFISH_RESPONSE *SrcResponse,
121 OUT REDFISH_RESPONSE *DstResponse
122 );
123
135 IN REDFISH_HTTP_CACHE_LIST *CacheList
136 );
137
152 IN EFI_STRING Uri,
153 IN REDFISH_RESPONSE *Response
154 );
155
170 );
171
184 );
185
200 IN EDKII_JSON_VALUE JsonValue
201 );
202
215 );
216
233 IN CHAR8 *Host,
234 IN CHAR8 *HostName,
235 IN CHAR8 *BasicAuth OPTIONAL,
236 IN CHAR8 *SessionToken OPTIONAL,
238 );
239
253 IN CHAR8 *Token
254 );
255
256#endif
UINT64 UINTN
#define IN
Definition: Base.h:279
#define OUT
Definition: Base.h:284
EFI_STATUS AddHttpCacheData(IN REDFISH_HTTP_CACHE_LIST *List, IN EFI_STRING Uri, IN REDFISH_RESPONSE *Response)
EFI_STATUS ReleaseRedfishPayload(IN REDFISH_PAYLOAD_PRIVATE *Payload)
REDFISH_SERVICE_PRIVATE * CreateRedfishService(IN CHAR8 *Host, IN CHAR8 *HostName, IN CHAR8 *BasicAuth OPTIONAL, IN CHAR8 *SessionToken OPTIONAL, IN EFI_REST_EX_PROTOCOL *RestEx)
EFI_STATUS CopyRedfishResponse(IN REDFISH_RESPONSE *SrcResponse, OUT REDFISH_RESPONSE *DstResponse)
EFI_STATUS UpdateSessionToken(IN REDFISH_SERVICE_PRIVATE *Service, IN CHAR8 *Token)
EFI_STATUS ReleaseRedfishService(IN REDFISH_SERVICE_PRIVATE *Service)
EFI_STATUS ReleaseCacheList(IN REDFISH_HTTP_CACHE_LIST *CacheList)
EFI_STATUS DeleteHttpCacheData(IN REDFISH_HTTP_CACHE_LIST *List, IN REDFISH_HTTP_CACHE_DATA *Data)
REDFISH_HTTP_CACHE_DATA * FindHttpCacheData(IN LIST_ENTRY *ListHeader, IN EFI_STRING Uri)
REDFISH_PAYLOAD_PRIVATE * CreateRedfishPayload(IN REDFISH_SERVICE_PRIVATE *Service, IN EDKII_JSON_VALUE JsonValue)
RETURN_STATUS EFI_STATUS
Definition: UefiBaseType.h:29
VOID * EFI_EVENT
Definition: UefiBaseType.h:37
VOID * EFI_HANDLE
Definition: UefiBaseType.h:33