13#ifndef EFI_REDFISH_RESTEX_DRIVER_H_
14#define EFI_REDFISH_RESTEX_DRIVER_H_
62#define REDFISH_RESTEX_DRIVER_VERSION 0x0100
64#define RESTEX_SERVICE_SIGNATURE SIGNATURE_32 ('R', 'E', 'S', 'S')
65#define RESTEX_INSTANCE_SIGNATURE SIGNATURE_32 ('R', 'E', 'I', 'S')
67#define RESTEX_SERVICE_FROM_THIS(a) \
68 CR (a, RESTEX_SERVICE, ServiceBinding, RESTEX_SERVICE_SIGNATURE)
70#define RESTEX_INSTANCE_FROM_THIS(a) \
71 CR (a, RESTEX_INSTANCE, RestEx, RESTEX_INSTANCE_SIGNATURE)
73#define RESTEX_INSTANCE_FROM_HTTP_CALLBACK(a) \
74 CR (a, RESTEX_INSTANCE, HttpCallbakFunction, RESTEX_INSTANCE_SIGNATURE)
76#define RESTEX_STATE_UNCONFIGED 0
77#define RESTEX_STATE_CONFIGED 1
83 UINT16 RestExChildrenNum;
99#define RESTEX_INSTANCE_FLAGS_TLS_RETRY 0x00000001
100#define RESTEX_INSTANCE_FLAGS_TCP_ERROR_RETRY 0x00000002
114 EFI_REST_EX_CONFIG_DATA ConfigData;
132 UINTN NumberOfChildren;
260 OUT EFI_REST_EX_CONFIG_DATA *RestExConfigData
298 IN EFI_REST_EX_CONFIG_DATA RestExConfigData
338 IN UINTN *TimeOutInMilliSeconds OPTIONAL
EFI_STATUS RestExCreateService(IN EFI_HANDLE Controller, IN EFI_HANDLE Image, OUT RESTEX_SERVICE **Service)
EFI_STATUS EFIAPI RedfishRestExDriverBindingStop(IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN UINTN NumberOfChildren, IN EFI_HANDLE *ChildHandleBuffer OPTIONAL)
EFI_COMPONENT_NAME_PROTOCOL gRedfishRestExComponentName
EFI_STATUS RestExCreateInstance(IN RESTEX_SERVICE *Service, OUT RESTEX_INSTANCE **Instance)
EFI_STATUS EFIAPI RedfishRestExEventService(IN EFI_REST_EX_PROTOCOL *This, IN EFI_HTTP_MESSAGE *RequestMessage OPTIONAL, IN EFI_REST_EX_TOKEN *RestExToken)
EFI_STATUS EFIAPI RedfishRestExDriverBindingSupported(IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL)
EFI_STATUS EFIAPI RedfishRestExServiceBindingCreateChild(IN EFI_SERVICE_BINDING_PROTOCOL *This, IN EFI_HANDLE *ChildHandle)
EFI_STATUS EFIAPI RestExDestroyChildEntryInHandleBuffer(IN LIST_ENTRY *Entry, IN VOID *Context)
VOID RestExDestroyService(IN RESTEX_SERVICE *RestExSb)
EFI_STATUS EFIAPI RedfishRestExDriverEntryPoint(IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable)
EFI_STATUS EFIAPI RedfishRestExSendReceive(IN EFI_REST_EX_PROTOCOL *This, IN EFI_HTTP_MESSAGE *RequestMessage, OUT EFI_HTTP_MESSAGE *ResponseMessage)
EFI_STATUS EFIAPI RedfishRestExGetServiceTime(IN EFI_REST_EX_PROTOCOL *This, OUT EFI_TIME *Time)
EFI_COMPONENT_NAME2_PROTOCOL gRedfishRestExComponentName2
EFI_STATUS EFIAPI RedfishRestExConfigure(IN EFI_REST_EX_PROTOCOL *This, IN EFI_REST_EX_CONFIG_DATA RestExConfigData)
VOID RestExDestroyInstance(IN RESTEX_INSTANCE *Instance)
EFI_STATUS EFIAPI RedfishRestExServiceBindingDestroyChild(IN EFI_SERVICE_BINDING_PROTOCOL *This, IN EFI_HANDLE ChildHandle)
EFI_STATUS EFIAPI RedfishRestExGetModeData(IN EFI_REST_EX_PROTOCOL *This, OUT EFI_REST_EX_CONFIG_DATA *RestExConfigData)
EFI_STATUS EFIAPI RedfishRestExGetService(IN EFI_REST_EX_PROTOCOL *This, OUT EFI_REST_EX_SERVICE_INFO **RestExServiceInfo)
EFI_STATUS EFIAPI RedfishRestExAyncSendReceive(IN EFI_REST_EX_PROTOCOL *This, IN EFI_HTTP_MESSAGE *RequestMessage OPTIONAL, IN EFI_REST_EX_TOKEN *RestExToken, IN UINTN *TimeOutInMilliSeconds OPTIONAL)
EFI_STATUS ResetHttpTslSession(IN RESTEX_INSTANCE *Instance)
EFI_STATUS EFIAPI RedfishRestExDriverBindingStart(IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL)