[AMD Official Use Only - General] > -----Original Message----- > From: Mike Maslenkin <mike.maslen...@gmail.com> > Sent: Friday, December 15, 2023 7:25 AM > To: devel@edk2.groups.io > Cc: Chang, Abner <abner.ch...@amd.com>; nick...@nvidia.com; > ig...@ami.com; Mike Maslenkin <mike.maslen...@gmail.com> > Subject: [PATCH v2 10/14] RedfishDiscoverDxe: introduce InitInformationData > helper function > > Caution: This message originated from an External Source. Use proper caution > when opening attachments, clicking links, or responding. > > > Cc: Abner Chang <abner.ch...@amd.com> > Cc: Nickle Wang <nick...@nvidia.com> > Cc: Igor Kulchytskyy <ig...@ami.com> > Signed-off-by: Mike Maslenkin <mike.maslen...@gmail.com> > --- > .../RedfishDiscoverDxe/RedfishDiscoverDxe.c | 108 ++++++++++++------ > 1 file changed, 74 insertions(+), 34 deletions(-) > > diff --git a/RedfishPkg/RedfishDiscoverDxe/RedfishDiscoverDxe.c > b/RedfishPkg/RedfishDiscoverDxe/RedfishDiscoverDxe.c > index e344e06d8dcc..724aa35431a8 100644 > --- a/RedfishPkg/RedfishDiscoverDxe/RedfishDiscoverDxe.c > +++ b/RedfishPkg/RedfishDiscoverDxe/RedfishDiscoverDxe.c > @@ -711,6 +711,69 @@ DiscoverRedfishHostInterface ( > return Status; > > } > > > > +/** > > + The function initalizes particular strings into > EFI_REDFISH_DISCOVERED_INFORMATION structure > > + > > + @param[in] Information EFI_REDFISH_DISCOVERED_INFORMATION > > + @param[in] RedfishVersion Redfish version. > > + @param[in] RedfishLocation Redfish location. > > + @param[in] Uuid Service UUID string. > > + @param[in] Os OS string. > > + @param[in] OsVer OS version string. > > + @param[in] Product Product string. > > + @param[in] ProductVer Product version string. > > + > > +**/ > > +STATIC > > +VOID > > +InitInformationData ( > > + IN EFI_REDFISH_DISCOVERED_INFORMATION *Information, > > + IN UINTN *RedfishVersion OPTIONAL, > > + IN CHAR8 *RedfishLocation OPTIONAL, > > + IN CHAR8 *Uuid OPTIONAL, > > + IN CHAR8 *Os OPTIONAL, > > + IN CHAR8 *OsVer OPTIONAL, > > + IN CHAR8 *Product OPTIONAL, > > + IN CHAR8 *ProductVer OPTIONAL > > + ) > > +{ > > + if (RedfishVersion != NULL) { > > + Information->RedfishVersion = *RedfishVersion; > > + DEBUG ((DEBUG_MANAGEABILITY, "Redfish service version: %d.\n", > Information->RedfishVersion)); > > + } > > + > > + if (RedfishLocation != NULL) { > > + Information->Location = (CHAR16 *)AllocatePool (AsciiStrSize ((const > CHAR8 *)RedfishLocation) * sizeof (CHAR16)); > > + AsciiStrToUnicodeStrS ((const CHAR8 *)RedfishLocation, Information- > >Location, AsciiStrSize ((const CHAR8 *)RedfishLocation) * sizeof (CHAR16));
Please use CONST instead of using const in this files as CONST is defined in Base.h. Thanks Abner > > + DEBUG ((DEBUG_MANAGEABILITY, "Redfish service location: %s.\n", > Information->Location)); > > + } > > + > > + if (Uuid != NULL) { > > + Information->Uuid = (CHAR16 *)AllocatePool (AsciiStrSize ((const CHAR8 > *)Uuid) * sizeof (CHAR16)); > > + AsciiStrToUnicodeStrS ((const CHAR8 *)Uuid, Information->Uuid, > AsciiStrSize ((const CHAR8 *)Uuid) * sizeof (CHAR16)); > > + DEBUG ((DEBUG_MANAGEABILITY, "Service UUID: %s.\n", Information- > >Uuid)); > > + } > > + > > + if (Os != NULL) { > > + Information->Os = (CHAR16 *)AllocatePool (AsciiStrSize ((const CHAR8 > *)Os) * sizeof (CHAR16)); > > + AsciiStrToUnicodeStrS ((const CHAR8 *)Os, Information->Os, AsciiStrSize > ((const CHAR8 *)Os) * sizeof (CHAR16)); > > + DEBUG ((DEBUG_MANAGEABILITY, "Redfish service OS: %s, > Version:%s.\n", Information->Os, Information->OsVersion)); > > + } > > + > > + if (OsVer != NULL) { > > + Information->OsVersion = (CHAR16 *)AllocatePool (AsciiStrSize ((const > CHAR8 *)OsVer) * sizeof (CHAR16)); > > + AsciiStrToUnicodeStrS ((const CHAR8 *)OsVer, Information->OsVersion, > AsciiStrSize ((const CHAR8 *)OsVer) * sizeof (CHAR16)); > > + } > > + > > + if ((Product != NULL) && (ProductVer != NULL)) { > > + Information->Product = (CHAR16 *)AllocatePool (AsciiStrSize ((const > CHAR8 *)Product) * sizeof (CHAR16)); > > + AsciiStrToUnicodeStrS ((const CHAR8 *)Product, Information->Product, > AsciiStrSize ((const CHAR8 *)Product) * sizeof (CHAR16)); > > + Information->ProductVer = (CHAR16 *)AllocatePool (AsciiStrSize ((const > CHAR8 *)ProductVer) * sizeof (CHAR16)); > > + AsciiStrToUnicodeStrS ((const CHAR8 *)ProductVer, Information- > >ProductVer, AsciiStrSize ((const CHAR8 *)ProductVer) * sizeof (CHAR16)); > > + DEBUG ((DEBUG_MANAGEABILITY, "Redfish service product: %s, > Version:%s.\n", Information->Product, Information->ProductVer)); > > + } > > +} > > + > > /** > > The function adds a new found Redfish service to internal list and > > notify client. > > @@ -851,41 +915,17 @@ AddAndSignalNewRedfishService ( > DEBUG ((DEBUG_MANAGEABILITY, "*** Redfish Service Information > ***\n")); > > > > DiscoveredInstance->Information.UseHttps = UseHttps; > > - if (RedfishVersion != NULL) { > > - DiscoveredInstance->Information.RedfishVersion = *RedfishVersion; > > - DEBUG ((DEBUG_MANAGEABILITY, "Redfish service version: %d.\n", > DiscoveredInstance->Information.RedfishVersion)); > > - } > > > > - if (RedfishLocation != NULL) { > > - DiscoveredInstance->Information.Location = (CHAR16 *)AllocatePool > (AsciiStrSize ((const CHAR8 *)RedfishLocation) * sizeof (CHAR16)); > > - AsciiStrToUnicodeStrS ((const CHAR8 *)RedfishLocation, > DiscoveredInstance->Information.Location, AsciiStrSize ((const CHAR8 > *)RedfishLocation) * sizeof (CHAR16)); > > - DEBUG ((DEBUG_MANAGEABILITY, "Redfish service location: %s.\n", > DiscoveredInstance->Information.Location)); > > - } > > - > > - if (Uuid != NULL) { > > - DiscoveredInstance->Information.Uuid = (CHAR16 *)AllocatePool > (AsciiStrSize ((const CHAR8 *)Uuid) * sizeof (CHAR16)); > > - AsciiStrToUnicodeStrS ((const CHAR8 *)Uuid, DiscoveredInstance- > >Information.Uuid, AsciiStrSize ((const CHAR8 *)Uuid) * sizeof (CHAR16)); > > - DEBUG ((DEBUG_MANAGEABILITY, "Service UUID: %s.\n", > DiscoveredInstance->Information.Uuid)); > > - } > > - > > - if (Os != NULL) { > > - DiscoveredInstance->Information.Os = (CHAR16 *)AllocatePool > (AsciiStrSize ((const CHAR8 *)Os) * sizeof (CHAR16)); > > - AsciiStrToUnicodeStrS ((const CHAR8 *)Os, DiscoveredInstance- > >Information.Os, AsciiStrSize ((const CHAR8 *)Os) * sizeof (CHAR16)); > > - DEBUG ((DEBUG_MANAGEABILITY, "Redfish service OS: %s, > Version:%s.\n", DiscoveredInstance->Information.Os, DiscoveredInstance- > >Information.OsVersion)); > > - } > > - > > - if (OsVer != NULL) { > > - DiscoveredInstance->Information.OsVersion = (CHAR16 *)AllocatePool > (AsciiStrSize ((const CHAR8 *)OsVer) * sizeof (CHAR16)); > > - AsciiStrToUnicodeStrS ((const CHAR8 *)OsVer, DiscoveredInstance- > >Information.OsVersion, AsciiStrSize ((const CHAR8 *)OsVer) * sizeof > (CHAR16)); > > - } > > - > > - if ((Product != NULL) && (ProductVer != NULL)) { > > - DiscoveredInstance->Information.Product = (CHAR16 *)AllocatePool > (AsciiStrSize ((const CHAR8 *)Product) * sizeof (CHAR16)); > > - AsciiStrToUnicodeStrS ((const CHAR8 *)Product, DiscoveredInstance- > >Information.Product, AsciiStrSize ((const CHAR8 *)Product) * sizeof > (CHAR16)); > > - DiscoveredInstance->Information.ProductVer = (CHAR16 *)AllocatePool > (AsciiStrSize ((const CHAR8 *)ProductVer) * sizeof (CHAR16)); > > - AsciiStrToUnicodeStrS ((const CHAR8 *)ProductVer, DiscoveredInstance- > >Information.ProductVer, AsciiStrSize ((const CHAR8 *)ProductVer) * sizeof > (CHAR16)); > > - DEBUG ((DEBUG_MANAGEABILITY, "Redfish service product: %s, > Version:%s.\n", DiscoveredInstance->Information.Product, > DiscoveredInstance->Information.ProductVer)); > > - } > > + InitInformationData ( > > + &DiscoveredInstance->Information, > > + RedfishVersion, > > + RedfishLocation, > > + Uuid, > > + Os, > > + OsVer, > > + Product, > > + ProductVer > > + ); > > > > if (RedfishLocation == NULL) { > > // This is the Redfish reported from SMBIOS 42h > > -- > 2.32.0 (Apple Git-132) -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#112628): https://edk2.groups.io/g/devel/message/112628 Mute This Topic: https://groups.io/mt/103181045/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-