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

Go to the source code of this file.

Data Structures

struct  _EDKII_REDFISH_CREDENTIAL2_PROTOCOL
 

Macros

#define REDFISH_CREDENTIAL_PROTOCOL_REVISION   0x00010000
 
#define EDKII_REDFISH_CREDENTIAL2_PROTOCOL_GUID
 

Typedefs

typedef struct _EDKII_REDFISH_CREDENTIAL2_PROTOCOL EDKII_REDFISH_CREDENTIAL2_PROTOCOL
 
typedef EFI_STATUS(EFIAPI * EDKII_REDFISH_CREDENTIAL2_PROTOCOL_GET_AUTH_INFO) (IN EDKII_REDFISH_CREDENTIAL2_PROTOCOL *This, OUT EDKII_REDFISH_AUTH_METHOD *AuthMethod, OUT CHAR8 **UserId, OUT CHAR8 **Password)
 
typedef EFI_STATUS(EFIAPI * EDKII_REDFISH_CREDENTIAL2_PROTOCOL_STOP_SERVICE) (IN EDKII_REDFISH_CREDENTIAL2_PROTOCOL *This, IN EDKII_REDFISH_CREDENTIAL_STOP_SERVICE_TYPE ServiceStopType)
 
typedef EFI_STATUS(EFIAPI * EDKII_REDFISH_CREDENTIAL2_PROTOCOL_REGISTER_REDFISH_SERVICE) (IN EDKII_REDFISH_CREDENTIAL2_PROTOCOL *This, IN REDFISH_SERVICE RedfishService)
 
typedef EFI_STATUS(EFIAPI * EDKII_REDFISH_CREDENTIAL2_PROTOCOL_UNREGISTER_REDFISH_SERVICE) (IN EDKII_REDFISH_CREDENTIAL2_PROTOCOL *This, IN REDFISH_SERVICE RedfishService)
 

Variables

EFI_GUID gEdkIIRedfishCredential2ProtocolGuid
 

Detailed Description

This file defines the EDKII_REDFISH_CREDENTIAL2_PROTOCOL interface.

Copyright (c) 2019, Intel Corporation. All rights reserved.
(C) Copyright 2020 Hewlett Packard Enterprise Development LP
(C) Copyright 2024 American Megatrends International LLC

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

Definition in file EdkIIRedfishCredential2.h.

Macro Definition Documentation

◆ EDKII_REDFISH_CREDENTIAL2_PROTOCOL_GUID

#define EDKII_REDFISH_CREDENTIAL2_PROTOCOL_GUID
Value:
{ \
0x936b81dc, 0x348c, 0x42e3, { 0x9e, 0x82, 0x2, 0x91, 0x4f, 0xd3, 0x48, 0x86 } \
}

Definition at line 22 of file EdkIIRedfishCredential2.h.

◆ REDFISH_CREDENTIAL_PROTOCOL_REVISION

#define REDFISH_CREDENTIAL_PROTOCOL_REVISION   0x00010000

Definition at line 20 of file EdkIIRedfishCredential2.h.

Typedef Documentation

◆ EDKII_REDFISH_CREDENTIAL2_PROTOCOL

◆ EDKII_REDFISH_CREDENTIAL2_PROTOCOL_GET_AUTH_INFO

typedef EFI_STATUS(EFIAPI * EDKII_REDFISH_CREDENTIAL2_PROTOCOL_GET_AUTH_INFO) (IN EDKII_REDFISH_CREDENTIAL2_PROTOCOL *This, OUT EDKII_REDFISH_AUTH_METHOD *AuthMethod, OUT CHAR8 **UserId, OUT CHAR8 **Password)

Retrieve platform's Redfish authentication information.

This functions returns the Redfish authentication method together with the user Id and password.

  • For AuthMethodNone, the UserId and Password could be used for HTTP header authentication as defined by RFC7235.
  • For AuthMethodRedfishSession, the UserId and Password could be used for Redfish session login as defined by Redfish API specification (DSP0266).

Callers are responsible for and freeing the returned string storage.

Parameters
[in]ThisPointer to EDKII_REDFISH_CREDENTIAL2_PROTOCOL instance.
[out]AuthMethodType of Redfish authentication method.
[out]UserIdThe pointer to store the returned UserId string.
[out]PasswordThe pointer to store the returned Password string.
Return values
EFI_SUCCESSGet the authentication information successfully.
EFI_ACCESS_DENIEDSecureBoot is disabled after EndOfDxe.
EFI_INVALID_PARAMETERThis or AuthMethod or UserId or Password is NULL.
EFI_OUT_OF_RESOURCESThere are not enough memory resources.
EFI_UNSUPPORTEDUnsupported authentication method is found.

Definition at line 52 of file EdkIIRedfishCredential2.h.

◆ EDKII_REDFISH_CREDENTIAL2_PROTOCOL_REGISTER_REDFISH_SERVICE

typedef EFI_STATUS(EFIAPI * EDKII_REDFISH_CREDENTIAL2_PROTOCOL_REGISTER_REDFISH_SERVICE) (IN EDKII_REDFISH_CREDENTIAL2_PROTOCOL *This, IN REDFISH_SERVICE RedfishService)

Register Redfish service instance so protocol knows that some module uses bootstrap account .

Parameters
[in]ThisPointer to EDKII_REDFISH_CREDENTIAL2_PROTOCOL instance.
[in]RedfishServiceRedfish service instance to register.
Return values
EFI_SUCCESSThis Redfish service instance has been registered successfully.

Definition at line 95 of file EdkIIRedfishCredential2.h.

◆ EDKII_REDFISH_CREDENTIAL2_PROTOCOL_STOP_SERVICE

typedef EFI_STATUS(EFIAPI * EDKII_REDFISH_CREDENTIAL2_PROTOCOL_STOP_SERVICE) (IN EDKII_REDFISH_CREDENTIAL2_PROTOCOL *This, IN EDKII_REDFISH_CREDENTIAL_STOP_SERVICE_TYPE ServiceStopType)

Notifies the Redfish service provider to stop providing configuration service to this platform. Deletes the bootstrap account on BMC side, so it will not be used by any other driver.

This function should be called when the platfrom is about to leave the safe environment. It will delete the bootstrap account sending DELETE request to BMC. It will notify the Redfish service provider to abort all logined session, and prohibit further login with original auth info. GetAuthInfo() will return EFI_UNSUPPORTED once this function is returned.

Parameters
[in]ThisPointer to EDKII_REDFISH_CREDENTIAL2_PROTOCOL instance.
[in]ServiceStopTypeReason of stopping Redfish service.
Return values
EFI_SUCCESSService has been stopped successfully.
EFI_INVALID_PARAMETERThis is NULL.
OthersSome error happened.

Definition at line 79 of file EdkIIRedfishCredential2.h.

◆ EDKII_REDFISH_CREDENTIAL2_PROTOCOL_UNREGISTER_REDFISH_SERVICE

typedef EFI_STATUS(EFIAPI * EDKII_REDFISH_CREDENTIAL2_PROTOCOL_UNREGISTER_REDFISH_SERVICE) (IN EDKII_REDFISH_CREDENTIAL2_PROTOCOL *This, IN REDFISH_SERVICE RedfishService)

Unregister Redfish service instance and delete the bootstrap account when all registered services unregistered.

Parameters
[in]ThisPointer to EDKII_REDFISH_CREDENTIAL2_PROTOCOL instance.
[in]RedfishServiceRedfish service instance to unregister.
Return values
EFI_SUCCESSThis Redfish service instance has been unregistered successfully.

Definition at line 112 of file EdkIIRedfishCredential2.h.