TianoCore EDK2 master
Loading...
Searching...
No Matches
RedfishDiscover.h
Go to the documentation of this file.
1
14#ifndef EFI_REDFISH_DISCOVER_PROTOCOL_H_
15#define EFI_REDFISH_DISCOVER_PROTOCOL_H_
16
17//
18// GUID definitions
19//
20#define EFI_REDFISH_DISCOVER_PROTOCOL_GUID \
21 { \
22 0x5db12509, 0x4550, 0x4347, { 0x96, 0xb3, 0x73, 0xc0, 0xff, 0x6e, 0x86, 0x9f } \
23 }
24
25#define REDFISH_DISCOVER_TOKEN_SIGNATURE SIGNATURE_32 ('R', 'F', 'T', 'S')
26
27typedef UINT32 EFI_REDFISH_DISCOVER_FLAG;
28#define EFI_REDFISH_DISCOVER_HOST_INTERFACE 0x00000001
29#define EFI_REDFISH_DISCOVER_SSDP 0x00000002
30#define EFI_REDFISH_DISCOVER_SSDP_UDP6 0x00000004
31#define EFI_REDFISH_DISCOVER_KEEP_ALIVE 0x00000008
33#define EFI_REDFISH_DISCOVER_RENEW 0x00000010
37#define EFI_REDFISH_DISCOVER_VALIDATION 0x80000000
38#define EFI_REDFISH_DISCOVER_DURATION_MASK 0x0f000000
43
44typedef struct {
46 BOOLEAN IsUdp6;
49 CHAR16 *Location;
50 CHAR16 *Uuid;
51 CHAR16 *Os;
52 CHAR16 *OsVersion;
53 CHAR16 *Product;
54 CHAR16 *ProductVer;
55 BOOLEAN UseHttps;
57
58typedef struct {
62
63typedef struct {
67
68typedef struct {
70 BOOLEAN IsIpv6;
73 UINT16 VlanId;
75
76typedef struct {
77 UINT32 Signature;
91
108typedef
112 IN EFI_HANDLE ImageHandle,
113 OUT UINTN *NumberOfNetworkInterfaces,
115 );
116
141typedef
145 IN EFI_HANDLE ImageHandle,
146 IN EFI_REDFISH_DISCOVER_NETWORK_INTERFACE *TargetNetworkInterface OPTIONAL,
147 IN EFI_REDFISH_DISCOVER_FLAG Flags,
149 );
150
161typedef
166 );
167
178typedef
183 );
184
186 EFI_REDFISH_DISCOVER_NETWORK_LIST GetNetworkInterfaceList;
187 EFI_REDFISH_DISCOVER_ACQUIRE_SERVICE AcquireRedfishService;
188 EFI_REDFISH_DISCOVER_ABORT_ACQUIRE AbortAcquireRedfishService;
189 EFI_REDFISH_DISCOVER_RELEASE_SERVICE ReleaseRedfishService;
190};
191
192extern EFI_GUID gEfiRedfishDiscoverProtocolGuid;
193#endif
UINT64 UINTN
#define OPTIONAL
Definition: Base.h:290
#define IN
Definition: Base.h:279
#define OUT
Definition: Base.h:284
EFI_STATUS(EFIAPI * EFI_REDFISH_DISCOVER_RELEASE_SERVICE)(IN EFI_REDFISH_DISCOVER_PROTOCOL *This, IN EFI_REDFISH_DISCOVERED_LIST *List)
EFI_STATUS(EFIAPI * EFI_REDFISH_DISCOVER_ABORT_ACQUIRE)(IN EFI_REDFISH_DISCOVER_PROTOCOL *This, IN EFI_REDFISH_DISCOVER_NETWORK_INTERFACE *TargetNetworkInterface OPTIONAL)
EFI_STATUS(EFIAPI * EFI_REDFISH_DISCOVER_NETWORK_LIST)(IN EFI_REDFISH_DISCOVER_PROTOCOL *This, IN EFI_HANDLE ImageHandle, OUT UINTN *NumberOfNetworkInterfaces, OUT EFI_REDFISH_DISCOVER_NETWORK_INTERFACE **NetworkInterfaces)
EFI_STATUS(EFIAPI * EFI_REDFISH_DISCOVER_ACQUIRE_SERVICE)(IN EFI_REDFISH_DISCOVER_PROTOCOL *This, IN EFI_HANDLE ImageHandle, IN EFI_REDFISH_DISCOVER_NETWORK_INTERFACE *TargetNetworkInterface OPTIONAL, IN EFI_REDFISH_DISCOVER_FLAG Flags, IN EFI_REDFISH_DISCOVERED_TOKEN *Token)
RETURN_STATUS EFI_STATUS
Definition: UefiBaseType.h:29
VOID * EFI_EVENT
Definition: UefiBaseType.h:37
VOID * EFI_HANDLE
Definition: UefiBaseType.h:33
UINT8 SubnetPrefixLength
Subnet prefix-length for IPv4 and IPv6.
EFI_MAC_ADDRESS MacAddress
MAC address of network interfase to discover Redfish service.
BOOLEAN IsIpv6
Indicates it's IP versino 6.
CHAR16 * Product
Redfish service product name.
CHAR16 * Location
Redfish service location.
CHAR16 * Os
Redfish service OS.
EFI_IP_ADDRESS RedfishHostIpAddress
IP address of Redfish service.
CHAR16 * OsVersion
Redfish service OS version.
CHAR16 * ProductVer
Redfish service product version.
UINTN RedfishVersion
Redfish service version.
CHAR16 * Uuid
Redfish service UUID.
BOOLEAN IsUdp6
Indicates it's IP versino 6.
EFI_HANDLE RedfishRestExHandle
REST EX EFI handle associated with this Redfish service.
EFI_REDFISH_DISCOVERED_INFORMATION Information
Redfish service discovered.
EFI_STATUS Status
Status of Redfish service discovery.
UINTN NumberOfServiceFound
Must be 0 when pass to Acquire ().
EFI_REDFISH_DISCOVERED_INSTANCE * RedfishInstances
Must be NULL when pass to Acquire ().
UINT32 Signature
Token signature.
EFI_REDFISH_DISCOVERED_LIST DiscoverList
Definition: Base.h:213