public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Abner Chang" <abner.chang@hpe.com>
To: devel@edk2.groups.io
Cc: Nickle Wang <nickle.wang@hpe.com>
Subject: [PATCH] RedfishPkg/Include: EDKII Redfish Config Handler Protocol header file
Date: Mon, 18 Jan 2021 10:31:22 +0800	[thread overview]
Message-ID: <20210118023122.9777-1-abner.chang@hpe.com> (raw)

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@intel.com>
Signed-off-by: Siyuan Fu <siyuan.fu@intel.com>
Signed-off-by: Fan Wang <fan.wang@intel.com>
Signed-off-by: Abner Chang <abner.chang@hpe.com>

Cc: Nickle Wang <nickle.wang@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


                 reply	other threads:[~2021-01-18  3:19 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210118023122.9777-1-abner.chang@hpe.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox