18#ifndef EFI_REST_EX_PROTOCOL_H_
19#define EFI_REST_EX_PROTOCOL_H_
26#define EFI_REST_EX_SERVICE_BINDING_PROTOCOL_GUID \
28 0x456bbe01, 0x99d0, 0x45ea, {0xbb, 0x5f, 0x16, 0xd8, 0x4b, 0xed, 0xc5, 0x59 } \
31#define EFI_REST_EX_PROTOCOL_GUID \
33 0x55648b91, 0xe7d, 0x40a3, {0xa9, 0xb3, 0xa8, 0x15, 0xd7, 0xea, 0xdf, 0x97 } \
58 EfiRestExServiceUnspecific = 1,
59 EfiRestExServiceRedfish,
60 EfiRestExServiceOdata,
61 EfiRestExServiceVendorSpecific = 0xff,
62 EfiRestExServiceTypeMax
63} EFI_REST_EX_SERVICE_TYPE;
69 EfiRestExServiceInBandAccess = 1,
70 EfiRestExServiceOutOfBandAccess = 2,
71 EfiRestExServiceModeMax
72} EFI_REST_EX_SERVICE_ACCESS_MODE;
79 EfiRestExConfigUnspecific,
80 EfiRestExConfigTypeMax
81} EFI_REST_EX_CONFIG_TYPE;
88 EFI_REST_EX_SERVICE_TYPE RestServiceType;
89 EFI_REST_EX_SERVICE_ACCESS_MODE RestServiceAccessMode;
91 UINT32 VendorSpecificDataLength;
92 UINT8 *VendorSpecifcData;
93 EFI_REST_EX_CONFIG_TYPE RestExConfigType;
94 UINT8 RestExConfigDataLength;
110 UINT32 SendReceiveTimeout;
116typedef UINT8 *EFI_REST_EX_CONFIG_DATA;
252 OUT EFI_REST_EX_CONFIG_DATA *RestExConfigData
290 IN EFI_REST_EX_CONFIG_DATA RestExConfigData
388extern EFI_GUID gEfiRestExServiceBindingProtocolGuid;
389extern EFI_GUID gEfiRestExProtocolGuid;
EFI_STATUS(EFIAPI * EFI_REST_SEND_RECEIVE)(IN EFI_REST_EX_PROTOCOL *This, IN EFI_HTTP_MESSAGE *RequestMessage, OUT EFI_HTTP_MESSAGE *ResponseMessage)
EFI_STATUS(EFIAPI * EFI_REST_EX_EVENT_SERVICE)(IN EFI_REST_EX_PROTOCOL *This, IN EFI_HTTP_MESSAGE *RequestMessage OPTIONAL, IN EFI_REST_EX_TOKEN *RestExToken)
EFI_STATUS(EFIAPI * EFI_REST_EX_GET_SERVICE)(IN EFI_REST_EX_PROTOCOL *This, OUT EFI_REST_EX_SERVICE_INFO **RestExServiceInfo)
EFI_STATUS(EFIAPI * EFI_REST_EX_ASYNC_SEND_RECEIVE)(IN EFI_REST_EX_PROTOCOL *This, IN EFI_HTTP_MESSAGE *RequestMessage OPTIONAL, IN EFI_REST_EX_TOKEN *RestExToken, IN UINTN *TimeOutInMilliSeconds OPTIONAL)
EFI_STATUS(EFIAPI * EFI_REST_GET_TIME)(IN EFI_REST_EX_PROTOCOL *This, OUT EFI_TIME *Time)
EFI_STATUS(EFIAPI * EFI_REST_EX_GET_MODE_DATA)(IN EFI_REST_EX_PROTOCOL *This, OUT EFI_REST_EX_CONFIG_DATA *RestExConfigData)
EFI_STATUS(EFIAPI * EFI_REST_EX_CONFIGURE)(IN EFI_REST_EX_PROTOCOL *This, IN EFI_REST_EX_CONFIG_DATA RestExConfigData)