From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mx.groups.io with SMTP id smtpd.web09.9041.1637823358066281326 for ; Wed, 24 Nov 2021 22:55:58 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=Hg2xtCiD; spf=pass (domain: intel.com, ip: 134.134.136.126, mailfrom: ray.ni@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10178"; a="222330199" X-IronPort-AV: E=Sophos;i="5.87,262,1631602800"; d="scan'208,217";a="222330199" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Nov 2021 22:55:57 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,262,1631602800"; d="scan'208,217";a="538884527" Received: from orsmsx605.amr.corp.intel.com ([10.22.229.18]) by orsmga001.jf.intel.com with ESMTP; 24 Nov 2021 22:55:57 -0800 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX605.amr.corp.intel.com (10.22.229.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Wed, 24 Nov 2021 22:55:56 -0800 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Wed, 24 Nov 2021 22:55:56 -0800 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (104.47.57.44) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.12; Wed, 24 Nov 2021 22:55:56 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AHebN3EcuJH8nHBdQ1FbSz9CCV01BrAE163hFnMS4eju5i5gAohRQzXS5gpjUgMskBvZ3L1ZGtbvdqHFmQmHdK7zC6bpeH/tiPf9xvdUYGIGZ6GluRXxm1g4t317VacSaoNkm5LG9x3bQk/ppDaS+GteZx2GNtYFEqRDpEiPYHGWACSlIAu+QqiALaplooC9SvxJ+RUkL9rv4Kta+F8nCuYnp150LUV8Zx/UrbvrMSLNzoqioYJQTKN9jgVFJi/j6asxb9y+ZjsgFQvvbsimVH9ntOn8tKUyzXadnuQLZMxJAtbOdesugCeKUyZ0a+OWebAVEMFpVNkJqfMKk1RxAA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=LKkiSaqVdpXgEaFnNE7hEPCMCWNgLqVkXbkpj+etT48=; b=W0Tb75vWNtWlDLfhk8oujgjZWdVoccLdbg+tPAmRvw4wNy77VM7bfNsdQhulv0O2MOye0fyuHmIwL+6cK3uviduMustHOY+MXlDxNC3oLf6EOIPq0PgUWyot01JOXe3UibOTWSfrHtWDGnnV3I1QBvB3Wf5b+Qsg+cjRQQszkjkspH3oezdnqxYRHlDj19769Uhcby3vg3+eOKwYVcgb+lJUKiwBmVUbg/IwPxfszeC/tGwjc1wVYGMd8KtqX3mdiB2BqdoxMWOSI6sCDdS549HN/DTVN0UX+fPKM8AORHbdThMOaXL+72J4rGK89iTQ6di3cl29nzzm0NJN/gGRlw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=LKkiSaqVdpXgEaFnNE7hEPCMCWNgLqVkXbkpj+etT48=; b=Hg2xtCiDkeAu2nhHJkz8RCoW2GUlNjFgmv6R+HtZ+9fs0R9MMp/ER9MHlcaOEdwb4Hco4C222D1GtRXeG0DWnSkHMX8/BGZraEl2/fqWiU6dOjsOzFMBewJ9bDbwUE3r8W/cyccd0GsMbCRm1PSSpTA63SwozhQAqDUSY4Y1Fc0= Received: from BN0PR11MB5696.namprd11.prod.outlook.com (2603:10b6:408:14b::11) by BN8PR11MB3681.namprd11.prod.outlook.com (2603:10b6:408:85::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4713.22; Thu, 25 Nov 2021 06:55:55 +0000 Received: from BN0PR11MB5696.namprd11.prod.outlook.com ([fe80::49dc:7490:201e:9fc9]) by BN0PR11MB5696.namprd11.prod.outlook.com ([fe80::49dc:7490:201e:9fc9%7]) with mapi id 15.20.4690.029; Thu, 25 Nov 2021 06:55:55 +0000 From: "Ni, Ray" To: "Fedorowicz, Jakub" , "devel@edk2.groups.io" CC: "Chaganty, Rangasai V" Subject: Re: [PATCH v3] IntelSiliconPkg/BaseConfigBlockLib: Add function to iterate over Config Blocks Thread-Topic: [PATCH v3] IntelSiliconPkg/BaseConfigBlockLib: Add function to iterate over Config Blocks Thread-Index: AdfcgkTSi51+UapGSRujf98+wSZDRwFRhBQg Date: Thu, 25 Nov 2021 06:55:55 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: c69caf6d-1f32-4321-97e5-08d9afe0a0bb x-ms-traffictypediagnostic: BN8PR11MB3681: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:6790; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: uoGPNn3L/FpmJGnois/CD5cL24qYvChoRDRJb/rOXNvOdcIEH61QzEJnsRGD8/dR100AM0+rGUhI74feLEupG1jb1ixmUt4e82Nk5zB951P0NSwgdmjuwDU3uyszGOqgt99YtGhHGh/yt8rDmBlHrMDnJotK6Ghf4hjvgskhC16jzNqIsV3U0r189CkNjffOplkR50HzmO5ds8ZkmoIDi/umoe4DQBHtXQ8/5RoKjseXv0xIvpteJOndMC38wlWv4fZ7qBv7lIdMS7PgEs9JDru3RC89BBS64HP0Sz5yMhcXJrXd26dywk0QVZ+3vsjjBBERnA7Y4K7KHTWUXFfTyCwfdsxeEMFWuylLC5zZrHMkBZW4fC54EYxl6T+Bzvu68SABNVyPryFr5cyCxb5Q/FrlpEOoJqZL64KYy7RZzHGqP3flbHrpwP2kmkDj2HsX6yKLEQol3FBoy+ekgtDv3FoPeEtldjUlmCDiTgFh3QVlK/15zUNaoqy/Bg2obosmbP6rnZJV2kB7JnCBQ/BWABCpLP4+I6UWFgpjEyTDaDBeQt8zP4aiIHcnVj+EhpgDuM0z7rzPWMatnpVr881rHchw69WXVUwWFG6Xsv2+KNScuTLLz/zeZTGSF8RrH4k22Hqbh9ouoM3uSFwrBYaxJwNNaZJtObhPg77EnO24ypohxukcgpAquklamed5xy51RHpokBXR1+0vkJnPZD7uKA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN0PR11MB5696.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(508600001)(71200400001)(9686003)(33656002)(82960400001)(107886003)(66946007)(83380400001)(66446008)(55016003)(38100700002)(52536014)(8936002)(76116006)(66556008)(2906002)(110136005)(38070700005)(4326008)(4744005)(316002)(66476007)(64756008)(122000001)(86362001)(6506007)(8676002)(26005)(7696005)(186003)(5660300002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?G2iFYtLIYh6nsKJ+sjZhy49Kgx1sjaJBksjuksad20IhIjJNCKjZzCdfg2Vo?= =?us-ascii?Q?SVnf/xgyH64BwFGP7vAgJ/ki3/p7XSdNLkCCBqEvoL84Ujz0WMqjUyKBoT2D?= =?us-ascii?Q?0z7fvp8dmbAEQh97bKJzzgPSNU1BJi9O1jWI+69Ld0sUITkzQCQsvqmSa0t7?= =?us-ascii?Q?DyavdrWBS8HvvynzU8EHNKstdblr1fcYJm9dVjnGS01GKDr94yfg+ISor/rb?= =?us-ascii?Q?/TV0jJGKTZbp1UpaHF3lMlewGOxO99vSfamqx7160aDxzrU6ab3/JLD+OKWm?= =?us-ascii?Q?XVQEAbHy9U3ztup11uSub/omV00ZCvx8hYMP3jIsb37VsKfkAnWOpgrmwR/m?= =?us-ascii?Q?6x00sLqjPCtjgBEJVINyognuknBIn/YwLKY8qWkmPT8oIXcbM+nWAEHXpFRX?= =?us-ascii?Q?0A3ZQujPlcPWGYP7eT8Au3JXCGTiBXktt8aGCQIsUCVz5x9ye9nfHaO6Ulp8?= =?us-ascii?Q?YKwv9NTFYSMpRM+BAuB2KaUo2yNxbchJUAdybYwdo+16z1Zlgk31wLfoJ4N6?= =?us-ascii?Q?0KlYBQJ29xGc6xDVHYAYgfhieU+M64Pig12DBHmER+8p1WU28Ha08lLCEHxM?= =?us-ascii?Q?gplDTHhiE0RII2nD5ypILlKO2gzJ6iyKjufvEPocnmfyD1rI6+AvBIzWgIpV?= =?us-ascii?Q?KYEqFi9bQkw0L/ic40JH5OpNZjXQ92k5ghHUMLq+PEvJEcqVwDB9l6nMvVi1?= =?us-ascii?Q?a+xjDBvW4ESih1U1Id0FtZ56N8POI8G+A9IY8bRL2d4l/dHLU5H6xvikw3ag?= =?us-ascii?Q?W2PdzROhzercvncmEkF/rAelBRHYb9FDJbSL901Uf0Cwm/H330ZDkzgu+5Ek?= =?us-ascii?Q?NagMoDLTWIse1Fv480aXBTChbMR59EWOy4y27vYWS5P1L8O4VnmX+4EPsNIE?= =?us-ascii?Q?E3Yw3UxTCVNSgvW9Y8WChGy10vpNzF/PcOkbkenD0ypjriBQGvtLfAtzw3Pn?= =?us-ascii?Q?uUz2cbJWLq0ms8S/v0tIpjSxvtXWb7oz0ChJyiXySUtGehu8o/yIkl7cb32a?= =?us-ascii?Q?SkfuZIWRshgcp5cTrLt6h+5cXOKvbHmzhNzsO3GaxY6DEI5ETjQEi+uDFSNA?= =?us-ascii?Q?Hg9cdqLoO21qyvkGe9474n5yFI1QqZkxha8gMPvLJOquhk8jAk/ZoDKP8Qcx?= =?us-ascii?Q?GeKDXGexQRWip2lFjzwhYDwwobncve+ysrjmQMoCkKyz6ondTaxIJJu9RMvy?= =?us-ascii?Q?KYS5n5e8/J+nzFK62/o4OdR6JPrqEy0ZqSxeLP4+Jc62kETQC0qfVgdbnUw4?= =?us-ascii?Q?sq8Jt/SRvlTUyPYjgmis1IA4eEf0dYsr4eEUYxhLXty1PNizZhqbc8M06uBe?= =?us-ascii?Q?Qsvu2s1EXW9wEtp30DxJRSpgVuG6/wOJdcV7pn6SNVFRiwDpwIVYAq5HDVx9?= =?us-ascii?Q?IuFp3w4R8Aukp4l7pQfBAuneFEoXaO/rcvRQmxYVRztgdM//jQNHjvPe17xX?= =?us-ascii?Q?JRSbVDab8xvOffLAkxkgu8mIGAIrNbtDDlzW3U0iNu4avghklnSsKXQ7wYlg?= =?us-ascii?Q?XSnZnxRBEis7uYLFiky83mQjoW1a/SMMT5kcCNn+SWKLZxJ8pliQavHKxmgV?= =?us-ascii?Q?2DMyECtLNrdsCYmKfPRAT7v/aGX8JnWNRzdi4yYebVj2HlixI7LaK6D6fvAV?= =?us-ascii?Q?r+I6lYHtgFCYD4fxdpTt3jc=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BN0PR11MB5696.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c69caf6d-1f32-4321-97e5-08d9afe0a0bb X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Nov 2021 06:55:55.1878 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: XS6JuI/eFuQpvZHHCgRpccJpm+8FdsekSdFs97jrC8g9ks6UTTpgRDkbQe2vH58Hj4CfxGJP1cj6aVLhKBBrNg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR11MB3681 Return-Path: ray.ni@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: multipart/alternative; boundary="_000_BN0PR11MB5696A967126D3174F25EAE888C629BN0PR11MB5696namp_" --_000_BN0PR11MB5696A967126D3174F25EAE888C629BN0PR11MB5696namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable +EFI_STATUS +EFIAPI +GetNextConfigBlock ( + IN VOID *ConfigBlockTableAddress, + IN VOID *ConfigBlockAddress, + OUT VOID **NextConfigBlockAddress + ) How about using following prototype? CONFIG_BLOCK * GetNextConfigBlock ( IN CONFIG_BLOCK_TABLE_HEADER *ConfigBlockTable IN CONFIG_BLOCK *ConfigBlock, IN GUID *Guid ); The API searches within ConfigBlockTable from ConfigBlock to find the next = one whose GUID matches to Guid. The new API is more flexible than yours because it allows caller to supply = a different GUID. By the way, do you have a plan to change existing library APIs to replace "= VOID *" with "CONFIG_BLOCK_TABLE_HEADER *" or "CONFIG_BLOCK *"? Thanks, Ray --_000_BN0PR11MB5696A967126D3174F25EAE888C629BN0PR11MB5696namp_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

+EFI_STATUS

+EFIAPI

+GetNextConfigBlock (

+  IN     VOID  &= nbsp;   *ConfigBlockTableAddress,

+  IN     VOID  &= nbsp;   *ConfigBlockAddress,

+  OUT    VOID   =    **NextConfigBlockAddress

+  )

 

How about using following prototype?

 

CONFIG_BLOCK *

GetNextConfigBlock (

  IN CONFIG_BLOCK_TABLE_HEADER *ConfigBlockTabl= e

  IN CONFIG_BLOCK     =             &nb= sp;            =   *ConfigBlock,

  IN GUID      &n= bsp;            = ;            &n= bsp;            = ;       *Guid

  );

 

The API searches within ConfigBlockTable from Config= Block to find the next one whose GUID matches to Guid.

The new API is more flexible than yours because it a= llows caller to supply a different GUID.

 

 

By the way, do you have a plan to change existing li= brary APIs to replace “VOID *” with “CONFIG_BLOCK_TABLE_H= EADER *” or “CONFIG_BLOCK *”?

 

Thanks,

Ray

--_000_BN0PR11MB5696A967126D3174F25EAE888C629BN0PR11MB5696namp_--