RedfishPkg[all]  1.0
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
EdkIIRedfishCredential.h File Reference

Data Structures

struct  _EDKII_REDFISH_CREDENTIAL_PROTOCOL
 

Macros

#define EDKII_REDFISH_CREDENTIAL_PROTOCOL_GUID
 

Typedefs

typedef struct
_EDKII_REDFISH_CREDENTIAL_PROTOCOL 
EDKII_REDFISH_CREDENTIAL_PROTOCOL
 
typedef OUT
EDKII_REDFISH_AUTH_METHOD
AuthMethod
 
typedef OUT
EDKII_REDFISH_AUTH_METHOD OUT
CHAR8 ** 
UserId
 
typedef OUT
EDKII_REDFISH_AUTH_METHOD OUT
CHAR8 OUT CHAR8 ** 
Password
 
typedef IN
EDKII_REDFISH_CREDENTIAL_STOP_SERVICE_TYPE 
ServiceStopType
 

Enumerations

enum  EDKII_REDFISH_AUTH_METHOD { AuthMethodNone, AuthMethodHttpBasic, AuthMethodRedfishSession, AuthMethodMax }
 
enum  EDKII_REDFISH_CREDENTIAL_STOP_SERVICE_TYPE { ServiceStopTypeNone = 0, ServiceStopTypeSecureBootDisabled, ServiceStopTypeExitBootService, ServiceStopTypeMax }
 

Functions

typedef EFI_STATUS (EFIAPI *EDKII_REDFISH_CREDENTIAL_PROTOCOL_GET_AUTH_INFO)(IN EDKII_REDFISH_CREDENTIAL_PROTOCOL *This
 

Variables

EFI_GUID gEdkIIRedfishCredentialProtocolGuid
 

Detailed Description

This file defines the EDKII_REDFISH_CREDENTIAL_PROTOCOL interface.

Copyright (c) 2019, Intel Corporation. All rights reserved.
(C) Copyright 2020 Hewlett Packard Enterprise Development LP

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

Macro Definition Documentation

#define EDKII_REDFISH_CREDENTIAL_PROTOCOL_GUID
Value:
{ \
0x8804377, 0xaf7a, 0x4496, { 0x8a, 0x7b, 0x17, 0x59, 0x0, 0xe9, 0xab, 0x46 } \
}

Typedef Documentation

typedef OUT EDKII_REDFISH_AUTH_METHOD OUT CHAR8 OUT CHAR8** Password
typedef OUT EDKII_REDFISH_AUTH_METHOD OUT CHAR8** UserId

Enumeration Type Documentation

Enumerator
AuthMethodNone 

No authentication is required.

AuthMethodHttpBasic 

Basic authentication is required.

AuthMethodRedfishSession 

Session authentication is required.

AuthMethodMax 
Enumerator
ServiceStopTypeNone 

Stop Redfsih service without reason.

ServiceStopTypeSecureBootDisabled 

Stop Redfsih service becasue EFI Secure Boot is disabled.

ServiceStopTypeExitBootService 

Stop Redfsih service becasue existing Boot Service.

ServiceStopTypeMax 

Function Documentation

typedef EFI_STATUS ( EFIAPI *  EDKII_REDFISH_CREDENTIAL_PROTOCOL_GET_AUTH_INFO)

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_CREDENTIAL_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.

Notify the Redfish service provide to stop provide configuration service to this platform.

This function should be called when the platfrom is about to leave the safe environment. 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_CREDENTIAL_PROTOCOL instance.
[in]ServiceStopTypeReason of stopping Redfish service.
Return values
EFI_SUCCESSService has been stoped successfully.
EFI_INVALID_PARAMETERThis is NULL.
OthersSome error happened.

Stop a Redfish configure handler of EDKII Redfish feature driver.

Parameters
[in]ThisPointer to EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL instance.
Return values
EFI_SUCCESSThis handler has been stoped successfully.
OthersSome error happened.

Variable Documentation

EFI_GUID gEdkIIRedfishCredentialProtocolGuid