TianoCore EDK2 master
Loading...
Searching...
No Matches
RedfishDiscover.h File Reference

Go to the source code of this file.

Data Structures

struct  EFI_REDFISH_DISCOVERED_INFORMATION
 
struct  EFI_REDFISH_DISCOVERED_INSTANCE
 
struct  EFI_REDFISH_DISCOVERED_LIST
 
struct  EFI_REDFISH_DISCOVER_NETWORK_INTERFACE
 
struct  EFI_REDFISH_DISCOVERED_TOKEN
 
struct  _EFI_REDFISH_DISCOVER_PROTOCOL
 

Macros

#define EFI_REDFISH_DISCOVER_PROTOCOL_GUID
 
#define REDFISH_DISCOVER_TOKEN_SIGNATURE   SIGNATURE_32 ('R', 'F', 'T', 'S')
 
#define EFI_REDFISH_DISCOVER_HOST_INTERFACE   0x00000001
 Discover Redfish server reported in SMBIOS 42h.
 
#define EFI_REDFISH_DISCOVER_SSDP   0x00000002
 Discover Redfish server using UPnP Http search method.
 
#define EFI_REDFISH_DISCOVER_SSDP_UDP6   0x00000004
 Use UDP version 6.
 
#define EFI_REDFISH_DISCOVER_KEEP_ALIVE   0x00000008
 
#define EFI_REDFISH_DISCOVER_RENEW   0x00000010
 
#define EFI_REDFISH_DISCOVER_VALIDATION   0x80000000
 Validate Redfish service for host interface instance.
 
#define EFI_REDFISH_DISCOVER_DURATION_MASK   0x0f000000
 

Typedefs

typedef UINT32 EFI_REDFISH_DISCOVER_FLAG
 
typedef struct _EFI_REDFISH_DISCOVER_PROTOCOL EFI_REDFISH_DISCOVER_PROTOCOL
 
typedef 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)
 
typedef 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)
 
typedef EFI_STATUS(EFIAPI * EFI_REDFISH_DISCOVER_ABORT_ACQUIRE) (IN EFI_REDFISH_DISCOVER_PROTOCOL *This, IN EFI_REDFISH_DISCOVER_NETWORK_INTERFACE *TargetNetworkInterface OPTIONAL)
 
typedef EFI_STATUS(EFIAPI * EFI_REDFISH_DISCOVER_RELEASE_SERVICE) (IN EFI_REDFISH_DISCOVER_PROTOCOL *This, IN EFI_REDFISH_DISCOVERED_LIST *List)
 

Variables

EFI_GUID gEfiRedfishDiscoverProtocolGuid
 

Detailed Description

This file defines the EFI Redfish Discover Protocol interface.

(C) Copyright 2021 Hewlett Packard Enterprise Development LP

SPDX-License-Identifier: BSD-2-Clause-Patent

Revision Reference:
  • Some corrections and revises are added to UEFI Specification 2.9.
  • This Protocol is introduced in UEFI Specification 2.8.

Definition in file RedfishDiscover.h.

Macro Definition Documentation

◆ EFI_REDFISH_DISCOVER_DURATION_MASK

#define EFI_REDFISH_DISCOVER_DURATION_MASK   0x0f000000

2 to the Power of Duration. The valid value of duration is between 3 to 15. The corresponding duration is 8 to 2^15 seconds. Duration is only valid when EFI_REDFISH_DISCOVER_KEEP_ALIVE is set to 1.

Definition at line 41 of file RedfishDiscover.h.

◆ EFI_REDFISH_DISCOVER_HOST_INTERFACE

#define EFI_REDFISH_DISCOVER_HOST_INTERFACE   0x00000001

Discover Redfish server reported in SMBIOS 42h.

Definition at line 28 of file RedfishDiscover.h.

◆ EFI_REDFISH_DISCOVER_KEEP_ALIVE

#define EFI_REDFISH_DISCOVER_KEEP_ALIVE   0x00000008

Keep to send UPnP Search in the duration indicated in EFI_REDFISH_DISCOVER_DURATION_MASK.

Definition at line 32 of file RedfishDiscover.h.

◆ EFI_REDFISH_DISCOVER_PROTOCOL_GUID

#define EFI_REDFISH_DISCOVER_PROTOCOL_GUID
Value:
{ \
0x5db12509, 0x4550, 0x4347, { 0x96, 0xb3, 0x73, 0xc0, 0xff, 0x6e, 0x86, 0x9f } \
}

Definition at line 20 of file RedfishDiscover.h.

◆ EFI_REDFISH_DISCOVER_RENEW

#define EFI_REDFISH_DISCOVER_RENEW   0x00000010

Set this bit to indicate this function to notify the caller a list of all Redfish servers it found. Otherwise, this fucntion just notify the caller new found Redfish servers.

Definition at line 36 of file RedfishDiscover.h.

◆ EFI_REDFISH_DISCOVER_SSDP

#define EFI_REDFISH_DISCOVER_SSDP   0x00000002

Discover Redfish server using UPnP Http search method.

Definition at line 29 of file RedfishDiscover.h.

◆ EFI_REDFISH_DISCOVER_SSDP_UDP6

#define EFI_REDFISH_DISCOVER_SSDP_UDP6   0x00000004

Use UDP version 6.

Definition at line 30 of file RedfishDiscover.h.

◆ EFI_REDFISH_DISCOVER_VALIDATION

#define EFI_REDFISH_DISCOVER_VALIDATION   0x80000000

Validate Redfish service for host interface instance.

Definition at line 37 of file RedfishDiscover.h.

◆ REDFISH_DISCOVER_TOKEN_SIGNATURE

#define REDFISH_DISCOVER_TOKEN_SIGNATURE   SIGNATURE_32 ('R', 'F', 'T', 'S')

Definition at line 25 of file RedfishDiscover.h.

Typedef Documentation

◆ EFI_REDFISH_DISCOVER_ABORT_ACQUIRE

typedef EFI_STATUS(EFIAPI * EFI_REDFISH_DISCOVER_ABORT_ACQUIRE) (IN EFI_REDFISH_DISCOVER_PROTOCOL *This, IN EFI_REDFISH_DISCOVER_NETWORK_INTERFACE *TargetNetworkInterface OPTIONAL)

This function aborts Redfish service discovery on the given network interface.

Parameters
[in]ThisEFI_REDFISH_DISCOVER_PROTOCOL instance.
[in]TargetNetworkInterfaceTarget NIC to do the discovery.
Return values
EFI_SUCCESSREST EX instance of discovered Redfish services are returned.
OthersFail to abort Redfish service discovery.

Definition at line 162 of file RedfishDiscover.h.

◆ EFI_REDFISH_DISCOVER_ACQUIRE_SERVICE

typedef 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)

This function acquires Redfish services by discovering static Redfish setting according to Redfish Host Interface or through SSDP. Returns a list of EFI handles in EFI_REDFISH_DISCOVERED_LIST. Each of EFI handle has cooresponding EFI REST EX instance installed on it. Each REST EX isntance is a child instance which created through EFI REST EX serivce protoocl for communicating with specific Redfish service.

Parameters
[in]ThisEFI_REDFISH_DISCOVER_PROTOCOL instance.
[in]ImageHandleEFI image owns these Redfish service instances.
[in]TargetNetworkInterfaceTarget NIC to do the discovery. NULL means discover Redfish service on all NICs on platform.
[in]FlagsRedfish service discover flags.
[in]TokenEFI_REDFISH_DISCOVERED_TOKEN instance. The memory of EFI_REDFISH_DISCOVERED_LIST and the strings in EFI_REDFISH_DISCOVERED_INFORMATION are all allocated by Acquire() and must be freed when caller invoke Release().
Return values
EFI_SUCCESSREST EX instance of discovered Redfish services are returned.
EFI_INVALID_PARAMETERSImageHandle == NULL, Flags == 0, Token == NULL, Token->Timeout > 5, or Token->Event == NULL.
OthersFail acquire Redfish services.

Definition at line 142 of file RedfishDiscover.h.

◆ EFI_REDFISH_DISCOVER_FLAG

typedef UINT32 EFI_REDFISH_DISCOVER_FLAG

Definition at line 27 of file RedfishDiscover.h.

◆ EFI_REDFISH_DISCOVER_NETWORK_LIST

typedef 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)

This function gets the NIC list which Redfish discover protocol can discover Redfish service on it.

Parameters
[in]ThisEFI_REDFISH_DISCOVER_PROTOCOL instance.
[in]ImageHandleEFI Image handle request the NIC list,
[out]NumberOfNetworkInterfacesNumber of NICs can do Redfish service discovery.
[out]NetworkInterfacesNIC instances. It's an array of instance. The number of entries in array is indicated by NumberOfNetworkInterfaces. Caller has to release the memory allocated by Redfish discover protocol.
Return values
EFI_SUCCESSREST EX instances of discovered Redfish are released.
OthersFail to remove the entry

Definition at line 109 of file RedfishDiscover.h.

◆ EFI_REDFISH_DISCOVER_PROTOCOL

◆ EFI_REDFISH_DISCOVER_RELEASE_SERVICE

typedef EFI_STATUS(EFIAPI * EFI_REDFISH_DISCOVER_RELEASE_SERVICE) (IN EFI_REDFISH_DISCOVER_PROTOCOL *This, IN EFI_REDFISH_DISCOVERED_LIST *List)

This function releases Redfish services found by RedfishServiceAcquire().

Parameters
[in]ThisEFI_REDFISH_DISCOVER_PROTOCOL instance.
[in]ListThe Redfish service to release.
Return values
EFI_SUCCESSREST EX instances of discovered Redfish are released.
OthersFail to remove the entry

Definition at line 179 of file RedfishDiscover.h.