From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id B85F4941D2D for ; Thu, 14 Dec 2023 23:25:15 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=WhxoCBq3WcO5VMYY2IZzbx9JLr1ZSU/QyEX3KYkLo6M=; c=relaxed/simple; d=groups.io; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Transfer-Encoding; s=20140610; t=1702596314; v=1; b=FjNN5TEQ8+Lds8OerllOIn9kH6ZP/gmlH5akqKx2r0JqHPooBSH7CbjwAiVB2XsIBlfoCPoy 0t629GUhyHbCsZLogf5SzKSc38gYLM7pfaLaHHndv72s9T648SmXInuG/U/xG11cwHxNlPzNhTT 6Zc4Yw4qmTmm6A+oDOSOVOqg= X-Received: by 127.0.0.2 with SMTP id B9vOYY7687511x1wsJeVcIfv; Thu, 14 Dec 2023 15:25:14 -0800 X-Received: from mail-lf1-f50.google.com (mail-lf1-f50.google.com [209.85.167.50]) by mx.groups.io with SMTP id smtpd.web11.44957.1702596311452516879 for ; Thu, 14 Dec 2023 15:25:11 -0800 X-Received: by mail-lf1-f50.google.com with SMTP id 2adb3069b0e04-50e1d61b657so50950e87.0 for ; Thu, 14 Dec 2023 15:25:11 -0800 (PST) X-Gm-Message-State: n0XkZx5DFBiyRIkTBSn6aeaEx7686176AA= X-Google-Smtp-Source: AGHT+IHMHM2Gnb7VfK3PMVtliTnlj8GdNE7y/SC5e48GsoE8awbg3LdZYtF9wemhMYrcn/qysJSl/w== X-Received: by 2002:a19:5f55:0:b0:50b:f3a0:861 with SMTP id a21-20020a195f55000000b0050bf3a00861mr4574756lfj.7.1702596309431; Thu, 14 Dec 2023 15:25:09 -0800 (PST) X-Received: from localhost.localdomain ([79.164.221.98]) by smtp.gmail.com with ESMTPSA id j24-20020ac24558000000b0050bfe5815e7sm1973119lfm.165.2023.12.14.15.25.08 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 14 Dec 2023 15:25:09 -0800 (PST) From: "Mike Maslenkin" To: devel@edk2.groups.io Cc: abner.chang@amd.com, nicklew@nvidia.com, igork@ami.com, Mike Maslenkin Subject: [edk2-devel] [PATCH v2 10/14] RedfishDiscoverDxe: introduce InitInformationData helper function Date: Fri, 15 Dec 2023 02:24:54 +0300 Message-Id: <20231214232458.4636-11-mike.maslenkin@gmail.com> In-Reply-To: <20231214232458.4636-1-mike.maslenkin@gmail.com> References: <20231214232458.4636-1-mike.maslenkin@gmail.com> MIME-Version: 1.0 Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,mike.maslenkin@gmail.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: Content-Transfer-Encoding: quoted-printable X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=FjNN5TEQ; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io Cc: Abner Chang Cc: Nickle Wang Cc: Igor Kulchytskyy Signed-off-by: Mike Maslenkin --- .../RedfishDiscoverDxe/RedfishDiscoverDxe.c | 108 ++++++++++++------ 1 file changed, 74 insertions(+), 34 deletions(-) diff --git a/RedfishPkg/RedfishDiscoverDxe/RedfishDiscoverDxe.c b/RedfishPk= g/RedfishDiscoverDxe/RedfishDiscoverDxe.c index e344e06d8dcc..724aa35431a8 100644 --- a/RedfishPkg/RedfishDiscoverDxe/RedfishDiscoverDxe.c +++ b/RedfishPkg/RedfishDiscoverDxe/RedfishDiscoverDxe.c @@ -711,6 +711,69 @@ DiscoverRedfishHostInterface ( return Status;=0D }=0D =0D +/**=0D + The function initalizes particular strings into EFI_REDFISH_DISCOVERED_I= NFORMATION structure=0D +=0D + @param[in] Information EFI_REDFISH_DISCOVERED_INFORMATION=0D + @param[in] RedfishVersion Redfish version.=0D + @param[in] RedfishLocation Redfish location.=0D + @param[in] Uuid Service UUID string.=0D + @param[in] Os OS string.=0D + @param[in] OsVer OS version string.=0D + @param[in] Product Product string.=0D + @param[in] ProductVer Product version string.=0D +=0D +**/=0D +STATIC=0D +VOID=0D +InitInformationData (=0D + IN EFI_REDFISH_DISCOVERED_INFORMATION *Information,=0D + IN UINTN *RedfishVersion OPTIONAL,=0D + IN CHAR8 *RedfishLocation OPTIONAL,=0D + IN CHAR8 *Uuid OPTIONAL,=0D + IN CHAR8 *Os OPTIONAL,=0D + IN CHAR8 *OsVer OPTIONAL,=0D + IN CHAR8 *Product OPTIONAL,=0D + IN CHAR8 *ProductVer OPTIONAL=0D + )=0D +{=0D + if (RedfishVersion !=3D NULL) {=0D + Information->RedfishVersion =3D *RedfishVersion;=0D + DEBUG ((DEBUG_MANAGEABILITY, "Redfish service version: %d.\n", Informa= tion->RedfishVersion));=0D + }=0D +=0D + if (RedfishLocation !=3D NULL) {=0D + Information->Location =3D (CHAR16 *)AllocatePool (AsciiStrSize ((const= CHAR8 *)RedfishLocation) * sizeof (CHAR16));=0D + AsciiStrToUnicodeStrS ((const CHAR8 *)RedfishLocation, Information->Lo= cation, AsciiStrSize ((const CHAR8 *)RedfishLocation) * sizeof (CHAR16));=0D + DEBUG ((DEBUG_MANAGEABILITY, "Redfish service location: %s.\n", Inform= ation->Location));=0D + }=0D +=0D + if (Uuid !=3D NULL) {=0D + Information->Uuid =3D (CHAR16 *)AllocatePool (AsciiStrSize ((const CHA= R8 *)Uuid) * sizeof (CHAR16));=0D + AsciiStrToUnicodeStrS ((const CHAR8 *)Uuid, Information->Uuid, AsciiSt= rSize ((const CHAR8 *)Uuid) * sizeof (CHAR16));=0D + DEBUG ((DEBUG_MANAGEABILITY, "Service UUID: %s.\n", Information->Uuid)= );=0D + }=0D +=0D + if (Os !=3D NULL) {=0D + Information->Os =3D (CHAR16 *)AllocatePool (AsciiStrSize ((const CHAR8= *)Os) * sizeof (CHAR16));=0D + AsciiStrToUnicodeStrS ((const CHAR8 *)Os, Information->Os, AsciiStrSiz= e ((const CHAR8 *)Os) * sizeof (CHAR16));=0D + DEBUG ((DEBUG_MANAGEABILITY, "Redfish service OS: %s, Version:%s.\n", = Information->Os, Information->OsVersion));=0D + }=0D +=0D + if (OsVer !=3D NULL) {=0D + Information->OsVersion =3D (CHAR16 *)AllocatePool (AsciiStrSize ((cons= t CHAR8 *)OsVer) * sizeof (CHAR16));=0D + AsciiStrToUnicodeStrS ((const CHAR8 *)OsVer, Information->OsVersion, A= sciiStrSize ((const CHAR8 *)OsVer) * sizeof (CHAR16));=0D + }=0D +=0D + if ((Product !=3D NULL) && (ProductVer !=3D NULL)) {=0D + Information->Product =3D (CHAR16 *)AllocatePool (AsciiStrSize ((const = CHAR8 *)Product) * sizeof (CHAR16));=0D + AsciiStrToUnicodeStrS ((const CHAR8 *)Product, Information->Product, A= sciiStrSize ((const CHAR8 *)Product) * sizeof (CHAR16));=0D + Information->ProductVer =3D (CHAR16 *)AllocatePool (AsciiStrSize ((con= st CHAR8 *)ProductVer) * sizeof (CHAR16));=0D + AsciiStrToUnicodeStrS ((const CHAR8 *)ProductVer, Information->Product= Ver, AsciiStrSize ((const CHAR8 *)ProductVer) * sizeof (CHAR16));=0D + DEBUG ((DEBUG_MANAGEABILITY, "Redfish service product: %s, Version:%s.= \n", Information->Product, Information->ProductVer));=0D + }=0D +}=0D +=0D /**=0D The function adds a new found Redfish service to internal list and=0D notify client.=0D @@ -851,41 +915,17 @@ AddAndSignalNewRedfishService ( DEBUG ((DEBUG_MANAGEABILITY, "*** Redfish Service Information ***\n"))= ;=0D =0D DiscoveredInstance->Information.UseHttps =3D UseHttps;=0D - if (RedfishVersion !=3D NULL) {=0D - DiscoveredInstance->Information.RedfishVersion =3D *RedfishVersion;= =0D - DEBUG ((DEBUG_MANAGEABILITY, "Redfish service version: %d.\n", Disco= veredInstance->Information.RedfishVersion));=0D - }=0D =0D - if (RedfishLocation !=3D NULL) {=0D - DiscoveredInstance->Information.Location =3D (CHAR16 *)AllocatePool = (AsciiStrSize ((const CHAR8 *)RedfishLocation) * sizeof (CHAR16));=0D - AsciiStrToUnicodeStrS ((const CHAR8 *)RedfishLocation, DiscoveredIns= tance->Information.Location, AsciiStrSize ((const CHAR8 *)RedfishLocation) = * sizeof (CHAR16));=0D - DEBUG ((DEBUG_MANAGEABILITY, "Redfish service location: %s.\n", Disc= overedInstance->Information.Location));=0D - }=0D -=0D - if (Uuid !=3D NULL) {=0D - DiscoveredInstance->Information.Uuid =3D (CHAR16 *)AllocatePool (Asc= iiStrSize ((const CHAR8 *)Uuid) * sizeof (CHAR16));=0D - AsciiStrToUnicodeStrS ((const CHAR8 *)Uuid, DiscoveredInstance->Info= rmation.Uuid, AsciiStrSize ((const CHAR8 *)Uuid) * sizeof (CHAR16));=0D - DEBUG ((DEBUG_MANAGEABILITY, "Service UUID: %s.\n", DiscoveredInstan= ce->Information.Uuid));=0D - }=0D -=0D - if (Os !=3D NULL) {=0D - DiscoveredInstance->Information.Os =3D (CHAR16 *)AllocatePool (Ascii= StrSize ((const CHAR8 *)Os) * sizeof (CHAR16));=0D - AsciiStrToUnicodeStrS ((const CHAR8 *)Os, DiscoveredInstance->Inform= ation.Os, AsciiStrSize ((const CHAR8 *)Os) * sizeof (CHAR16));=0D - DEBUG ((DEBUG_MANAGEABILITY, "Redfish service OS: %s, Version:%s.\n"= , DiscoveredInstance->Information.Os, DiscoveredInstance->Information.OsVer= sion));=0D - }=0D -=0D - if (OsVer !=3D NULL) {=0D - DiscoveredInstance->Information.OsVersion =3D (CHAR16 *)AllocatePool= (AsciiStrSize ((const CHAR8 *)OsVer) * sizeof (CHAR16));=0D - AsciiStrToUnicodeStrS ((const CHAR8 *)OsVer, DiscoveredInstance->Inf= ormation.OsVersion, AsciiStrSize ((const CHAR8 *)OsVer) * sizeof (CHAR16));= =0D - }=0D -=0D - if ((Product !=3D NULL) && (ProductVer !=3D NULL)) {=0D - DiscoveredInstance->Information.Product =3D (CHAR16 *)AllocatePool (= AsciiStrSize ((const CHAR8 *)Product) * sizeof (CHAR16));=0D - AsciiStrToUnicodeStrS ((const CHAR8 *)Product, DiscoveredInstance->I= nformation.Product, AsciiStrSize ((const CHAR8 *)Product) * sizeof (CHAR16)= );=0D - DiscoveredInstance->Information.ProductVer =3D (CHAR16 *)AllocatePoo= l (AsciiStrSize ((const CHAR8 *)ProductVer) * sizeof (CHAR16));=0D - AsciiStrToUnicodeStrS ((const CHAR8 *)ProductVer, DiscoveredInstance= ->Information.ProductVer, AsciiStrSize ((const CHAR8 *)ProductVer) * sizeof= (CHAR16));=0D - DEBUG ((DEBUG_MANAGEABILITY, "Redfish service product: %s, Version:%= s.\n", DiscoveredInstance->Information.Product, DiscoveredInstance->Informa= tion.ProductVer));=0D - }=0D + InitInformationData (=0D + &DiscoveredInstance->Information,=0D + RedfishVersion,=0D + RedfishLocation,=0D + Uuid,=0D + Os,=0D + OsVer,=0D + Product,=0D + ProductVer=0D + );=0D =0D if (RedfishLocation =3D=3D NULL) {=0D // This is the Redfish reported from SMBIOS 42h=0D --=20 2.32.0 (Apple Git-132) -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#112559): https://edk2.groups.io/g/devel/message/112559 Mute This Topic: https://groups.io/mt/103181045/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=-