[edk2-devel] [PATCH] RedfishPkg/Include: EDKII Redfish Config Handler Protocol header file

Nickle Wang nickle.wang at hpe.com
Tue Feb 23 07:41:49 UTC 2021


Reviewed-by: Nickle Wang <nickle.wang at hpe.com>

Thanks,
Nickle

> -----Original Message-----
> From: devel at edk2.groups.io <devel at edk2.groups.io> On Behalf Of Chang,
> Abner (HPS SW/FW Technologist)
> Sent: Monday, January 18, 2021 10:31 AM
> To: devel at edk2.groups.io
> Cc: Wang, Nickle (HPS SW) <nickle.wang at hpe.com>
> Subject: [edk2-devel] [PATCH] RedfishPkg/Include: EDKII Redfish Config
> Handler Protocol header file
> 
> BZ:2911
> 
> This is the header file of EDKII Redfish config handler protocol,
> which is used by EDKII Redfish feature driver in order to
> manipulate Redfish properties based on the Redfish schema.
> 
> Signed-off-by: Jiaxin Wu <jiaxin.wu at intel.com>
> Signed-off-by: Siyuan Fu <siyuan.fu at intel.com>
> Signed-off-by: Fan Wang <fan.wang at intel.com>
> Signed-off-by: Abner Chang <abner.chang at hpe.com>
> 
> Cc: Nickle Wang <nickle.wang at hpe.com>
> ---
>  RedfishPkg/RedfishPkg.dec                     |  3 +
>  .../Protocol/EdkIIRedfishConfigHandler.h      | 78 +++++++++++++++++++
>  2 files changed, 81 insertions(+)
>  create mode 100644
> RedfishPkg/Include/Protocol/EdkIIRedfishConfigHandler.h
> 
> diff --git a/RedfishPkg/RedfishPkg.dec b/RedfishPkg/RedfishPkg.dec
> index 2985676b60..b8ff98eb13 100644
> --- a/RedfishPkg/RedfishPkg.dec
> +++ b/RedfishPkg/RedfishPkg.dec
> @@ -64,6 +64,9 @@
>    ## Include/Protocol/EdkIIRedfishCredential.h
>    gEdkIIRedfishCredentialProtocolGuid = { 0x8804377, 0xaf7a, 0x4496, { 0x8a,
> 0x7b, 0x17, 0x59, 0x0, 0xe9, 0xab, 0x46 } }
> 
> +  ## Include/Protocol/Edk2RedfishConfigHandler.h
> +  gEdkIIRedfishConfigHandlerProtocolGuid = { 0xbc0fe6bb, 0x2cc9, 0x463e,
> { 0x90, 0x82, 0xfa, 0x11, 0x76, 0xfc, 0x67, 0xde } }
> +
>  [Guids]
>    gEfiRedfishPkgTokenSpaceGuid      = { 0x4fdbccb7, 0xe829, 0x4b4c, { 0x88,
> 0x87, 0xb2, 0x3f, 0xd7, 0x25, 0x4b, 0x85 }}
> 
> diff --git a/RedfishPkg/Include/Protocol/EdkIIRedfishConfigHandler.h
> b/RedfishPkg/Include/Protocol/EdkIIRedfishConfigHandler.h
> new file mode 100644
> index 0000000000..bbd60ed6bd
> --- /dev/null
> +++ b/RedfishPkg/Include/Protocol/EdkIIRedfishConfigHandler.h
> @@ -0,0 +1,78 @@
> +/** @file
> +  This file defines the EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL
> interface.
> +
> +  Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
> +  (C) Copyright 2021 Hewlett Packard Enterprise Development LP<BR>
> +
> +  SPDX-License-Identifier: BSD-2-Clause-Patent
> +
> +**/
> +
> +#ifndef EDKII_REDFISH_CONFIG_HANDLER_H_
> +#define EDKII_REDFISH_CONFIG_HANDLER_H_
> +
> +typedef struct _EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL
> EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL;
> +
> +#define EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL_GUID \
> +    {  \
> +      0xbc0fe6bb, 0x2cc9, 0x463e, { 0x90, 0x82, 0xfa, 0x11, 0x76, 0xfc, 0x67,
> 0xde }  \
> +    }
> +
> +typedef struct {
> +  EFI_HANDLE        RedfishServiceRestExHandle; ///< REST EX EFI handle
> associated with this Redfish service.
> +  UINTN             RedfishServiceVersion;      ///< Redfish service version.
> +  CHAR16            *RedfishServiceLocation;    ///< Redfish service location.
> +  CHAR16            *RedfishServiceUuid;        ///< Redfish service UUID.
> +  CHAR16            *RedfishServiceOs;          ///< Redfish service OS.
> +  CHAR16            *RedfishServiceOsVersion;   ///< Redfish service OS version.
> +  CHAR16            *RedfishServiceProduct;     ///< Redfish service product
> name.
> +  CHAR16            *RedfishServiceProductVer;  ///< Redfish service product
> version.
> +  BOOLEAN           RedfishServiceUseHttps;     ///< Redfish service uses HTTPS.
> +} REDFISH_CONFIG_SERVICE_INFORMATION;
> +
> +/**
> +  Initialize a configure handler of EDKII Redfish feature driver.
> +
> +  This function will be called by the EDKII Redfish config handler driver to
> +  initialize the configure handler of each EDKII Redfish feature driver.
> +
> +  @param[in]   This                    Pointer to
> EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL instance.
> +  @param[in]   RedfishServiceinfo      Redfish service information.
> +
> +  @retval EFI_SUCCESS                  The handler has been initialized successfully.
> +  @retval EFI_DEVICE_ERROR             Failed to create or configure the REST EX
> protocol instance.
> +  @retval EFI_ALREADY_STARTED          This handler has already been
> initialized.
> +  @retval Other                        Error happens during the initialization.
> +
> +**/
> +typedef
> +EFI_STATUS
> +(EFIAPI *EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL_INIT) (
> +  IN  EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL *This,
> +  IN  REDFISH_CONFIG_SERVICE_INFORMATION  *RedfishServiceinfo
> +  );
> +
> +/**
> +  Stop a Redfish configure handler of EDKII Redfish feature driver.
> +
> +  @param[in]   This                Pointer to
> EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL instance.
> +
> +  @retval EFI_SUCCESS              This handler has been stoped successfully.
> +  @retval Others                   Some error happened.
> +
> +**/
> +typedef
> +EFI_STATUS
> +(EFIAPI *EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL_STOP) (
> +  IN     EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL    *This
> +  );
> +
> +struct _EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL {
> +  EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL_INIT      Init;
> +  EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL_STOP      Stop;
> +};
> +
> +
> +extern EFI_GUID gdkIIRedfishConfigHandlerProtocolGuid;
> +
> +#endif
> --
> 2.17.1
> 
> 
> 
> 
> 



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#72037): https://edk2.groups.io/g/devel/message/72037
Mute This Topic: https://groups.io/mt/80846545/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-






More information about the edk2-devel-archive mailing list